python 线程 event

Posted 扫驴

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 线程 event相关的知识,希望对你有一定的参考价值。

全局定义了一个“Flag”,如果“Flag”值为 False,那么当程序执行 event.wait 方法时就会阻塞,如果“Flag”值为True,那么执行event.wait 方法时便不再阻塞。

 

clear:将“Flag”设置为False

set:将“Flag”设置为True

用 threading.Event 实现线程间通信,使用threading.Event可以使一个线程等待其他线程的通知,我们把这个Event传递到线程对象中,

 

Event默认内置了一个标志,初始值为False。一旦该线程通过wait()方法进入等待状态,直到另一个线程调用该Event的set()方法将内置标志设置为True时,该Event会通知所有等待状态的线程恢复运行。

import threading,time

event = threading.Event()

def aa():
    print (begin)
    event.wait()
    print (end)
    
f=threading.Thread(target=aa)
event.clear()#虽然event初始默认值就是false,但习惯上
             #还是设置一下
f.start()
time.sleep(10)#这期间线程被阻塞
event.set()

 

以上是关于python 线程 event的主要内容,如果未能解决你的问题,请参考以下文章

python多线程Event实现红绿灯案例

python Event对象队列和多进程基础

Python开发基础--- Event对象队列和多进程基础

python lock, semaphore, event实现线程同步

Python开发基础-Day31 Event对象队列和多进程基础

js经常用到的代码片段