Python 線程(五):Event

Event:  是線程同步的一種方式,相似於一個標誌,當該標誌爲false時,全部等待該標誌的線程阻塞,當爲true時,全部等待該標誌的線程被喚醒spa

 

isSet():       當內置標誌爲True時返回True。 
set():         將標誌設爲True,並通知全部處於等待阻塞狀態的線程恢復運行狀態。 
clear():       將標誌設爲False。 
wait([timeout]):  若是標誌爲True將當即返回,不然阻塞線程至等待阻塞狀態,等待其餘線程調用set()線程

 1 import threading
 2 import time
 3 
 4 event = threading.Event()
 5 
 6 def func():
 7     print "%s is waiting for event...\n" % threading.currentThread().getName()
 8     event.wait()
 9 
10     print "%s get the Event..\n" % threading.currentThread().getName()
11 
12 
13 if __name__ == "__main__":
14     t1 = threading.Thread(target=func)
15     t2 = threading.Thread(target=func)
16 
17     t1.start()
18     t2.start()
19 
20     time.sleep(2)
21 
22     print "MainThread set Event\n"
23 
24     event.set()
25 
26     t1.join()
27     t2.join()
相關文章
相關標籤/搜索