这篇文章主要介绍了python基于event实现线程间通信控制,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
import threading,time
class Boss(threading.Thread):
def run( self ):
print ( "We must work today!" )
event.isSet() or event. set ()
time.sleep( 5 )
print ( "You can go home right now!" )
event.isSet() or event. set ()
class Worker(threading.Thread):
def run( self ):
event.wait()
print ( "Oh,my god!!!" )
time.sleep( 1 )
event.clear()
event.wait()
print ( "Oh,yeah!!!" )
if __name__ = = "__main__" :
event = threading.Event()
threads = []
for i in range ( 5 ):
threads.append(Worker())
threads.append(Boss())
for t in threads:
t.start()
for t in threads:
t.join()
|
运行后显示:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
We must work today!
Oh,my god!!!
Oh,my god!!!
Oh,my god!!!
Oh,my god!!!
Oh,my god!!!
You can go home right now!
Oh,yeah!!!
Oh,yeah!!!
Oh,yeah!!!
Oh,yeah!!!
Oh,yeah!!!
Process finished with exit code 0
|
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。
原文链接:https://www.cnblogs.com/iceberg710815/p/12043746.html