Python线程线程threading模块用法详解模块用法详解
主要介绍了Python线程threading模块用法,结合实例形式总结分析了Python线程threading模块基本功能、原理、
相关函数使用方法与操作注意事项,需要的朋友可以参考下
本文实例讲述了Python线程threading模块用法。分享给大家供大家参考,具体如下:
threading-更高级别的线程接口更高级别的线程接口
源代码:源代码:Lib/threading.py
该模块在较低级别thread模块之上构建更高级别的线程接口。另请参见mutex和Queue模块。
该dummy_threading模块适用于threading因thread缺失而无法使用的情况 。
注意:注意: 从Python 2.6开始,该模块提供 符合 PEP 8的别名和属性,以替换camelCase受Java的线程API启发的名
称。此更新的API与multiprocessing模块的API兼容 。但是,没有为camelCase名称的弃用设置计划,它们在
Python 2.x和3.x中仍然完全受支持。
注意注意 ::从Python 2.5开始,几个Thread方法引发RuntimeError 而不是AssertionError错误地调用。
该模块定义了以下功能和对象:
threading.active_count()()
threading.activeCount()()
返回Thread当前活动的对象数。返回的计数等于返回的列表的长度enumerate()。
在2.6版中更改:添加了active_count()拼写。
threading.Condition()()
返回新条件变量对象的工厂函数。条件变量允许一个或多个线程等待,直到另一个线程通知它们。
请参阅条件对象。
threading.current_thread()()
threading.currentThread()()
返回当前Thread对象,对应于调用者的控制线程。如果未通过threading模块创建调用者的控制 线程,则返回具有有限功能的
虚拟线程对象。
在2.6版中更改:添加了current_thread()拼写。
threading.enumerate()()
返回Thread当前活动的所有对象的列表。该列表包括守护线程,由其创建的虚拟线程对象 current_thread()和主线程。它排除
了尚未启动的已终止线程和线程。
threading.Event()()
返回新事件对象的工厂函数。事件管理一个标志,该标志可以使用该set()方法设置为true,并使用该方法重置为false clear()。
该wait()方法将阻塞,直到该标志为真。
请参阅事件对象。
类类threading.local
表示线程局部数据的类。线程局部数据是其值是线程特定的数据。要管理线程本地数据,只需创建一个local(或子类)实例
并在其上存储属性:
mydata = threading.local()
mydata.x = 1
对于单独的线程,实例的值将不同。
有关更多详细信息和大量示例,请参阅_threading_local模块的文档字符串 。
版本2.4中的新功能。
threading.Lock()()
返回新原始锁定对象的工厂函数。一旦线程获得它,后续尝试获取它就会阻塞,直到它被释放; 任何线程都可以释放它。
请参见锁定对象。
threading.RLock()()
评论0