python进程:threading库
Event
类
简述
- 简单概述:实例化的
Event
类本质上就是一个布尔值,但是,这个布尔值自带很多方法,可以灵活地改变自身的bool
值,通过自生布尔值的改变,来控制一些如循环这样的进程的运行情况。 - 它可以作为全局变量,用于对多个线程进行协调
- 我们常常将其与
threading.Threading(target=function)
进行结合,它的值可以在function
中进行变换控制function
的运行情况,同时就控制了线程的运行情况。
常用类方法介绍
- 其常用方法的基本介绍:
threading.Event
对象内部维护了一个布尔标志,初始值为False
。线程可以通过调用set()
方法将标志设置为True
,通过clear()
方法将标志重置为False
,使用is_set()
方法检查标志的当前状态,以及使用wait()
方法让线程阻塞,直到标志变为True
。
set()
将 Event
对象内部的标志设置为 True
。所有正在等待这个事件的线程将被唤醒。
1 | import threading |
clear()
将 Event
对象内部的标志重置为 False
。之后调用 wait()
方法的线程将再次阻塞,直到标志再次被设置为 True
。
1 | import threading |
is_set()
检查 Event
对象内部的标志是否为 True
。返回一个布尔值。
1 | import threading |
wait(timeout=None)
让当前线程阻塞,直到 Event
对象内部的标志变为 True
,或者超过指定的 timeout
时间(以秒为单位)。如果 timeout
为 None
,则线程将一直阻塞,直到标志变为 True
。返回一个布尔值,表示标志是否为 True
。
1 | import threading |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Dedsec的博客!