python获得子线程的返回值
来源:互联网 发布:dnf钓鱼源码 编辑:程序博客网 时间:2024/06/05 16:20
import sysimport threadingimport Queueq = Queue.Queue()def worker1(x, y): func_name = sys._getframe().f_code.co_name print "%s run ..." % func_name q.put((x + y, func_name))def worker2(x, y): func_name = sys._getframe().f_code.co_name print "%s run ...." % func_name q.put((x - y, func_name))if __name__ == '__main__': result = list() t1 = threading.Thread(target=worker1, name='thread1', args=(10, 5, )) t2 = threading.Thread(target=worker2, name='thread2', args=(20, 1, )) print '-' * 50 t1.start() t2.start() t1.join() t2.join() while not q.empty(): result.append(q.get()) for item in result: if item[1] == worker1.__name__: print "%s 's return value is : %s" % (item[1], item[0]) elif item[1] == worker2.__name__: print "%s 's return value is : %s" % (item[1], item[0])
这是目前最主流的获取线程数据的方法。使用 Queue 库创建队列实例,用来储存和传递线程间的数据。Python 的队列是线程安全的,也就是说多个线程同时访问一个队列也不会有冲突。Python 队列有三种 FIFO 先进先出,FILO 先进后出(类似栈),优先级队列(由单独的优先级参数决定顺序)。使用队列可以实现简单 生产者 – 消费者 模型
阅读全文
0 0
- python获得子线程的返回值
- python获得子线程的返回值
- python从子线程中获得返回值
- python获得线程调用函数的返回值
- 获得子进程的返回值
- 如何获得线程的返回值?
- Java中获得线程的返回值
- Java中获得线程的返回值
- 异步接收子线程的返回值
- Bash获得子进程返回值的方法
- 从子线程返回值
- c++,在windows下调用子进程,并获得子进程的返回值。
- 取得子线程的返回值(Future 搭载Callable)
- 使用callable获取子线程的返回值
- Callable接口 获得线程返回值----线程相关内容
- ActivityGroup子Activity获得焦点返回键的处理
- ActivityGroup子Activity获得焦点返回键的处理
- 获得DWR的返回值
- Spring MVC
- Scala基础入门(五)Scala 内置9种数据类型
- Kaggle:Titanic问题(3)——经验总结
- eclipse导入Maven工程Failure to transfer org.apache.maven:maven-archiver:pom:2.4.1 from http://repo.mave
- 数据库和服务器的关系
- python获得子线程的返回值
- 空间换时间思维——筛选法——N内求素数——一定要自己想,抄出来那部分代码拼接貌似可以,但不能写出来
- 第一行代码 第7章 内容提供器 --实现跨程序数据共享
- 通过taskkill命令杀死win10系统中出现的应用假死无响应的程序进程
- 设计模式
- 手机争夺战
- 【HPUOJ 1414:】Kick As 【栈】
- 剥析surging的架构思想
- 面向对象三大基本特性,五大基本原则