python-Event事件线程同步和互斥

 1  #!/usr/bin/python
 2 #coding=utf-8
 3 #用于线程间通信,通过事件标识控制
 4 import threading
 5 from time import sleep,ctime
 6 
 7 def A():
 8     print "A is starting"
 9     event_is_set=e.wait()
10     print "event set1:%s"%event_is_set
11 
12 def B(e,t):
13     while not e.isSet():
14         print "wait for event timeout starting"
15         event_is_set=e.wait(t)
16         print "event set2:%s"%event_is_set
17         if event_is_set:
18             print "event process"
19         else:
20             print "do other work"
21 
22 e=threading.Event() 
23 t1=threading.Thread(target=A)
24 t1.start()
25 t2=threading.Thread(target=B,args=(e,4))
26 t2.start()
27 
28 print "waiting before calling event set"
29 sleep(5)
30 e.set()
31 print "event is set"
原文地址:https://www.cnblogs.com/chengyunshen/p/7195988.html