新聞中心

目前創(chuàng)新互聯(lián)建站已為上千多家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)頁空間、網(wǎng)站托管維護(hù)、企業(yè)網(wǎng)站設(shè)計(jì)、耒陽網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
同步條件
條件同步和條件變量同步差不多意思,只是少了鎖功能,因?yàn)闂l件同步設(shè)計(jì)于不訪問共享資源的條件環(huán)境。event=threading.Event():條件環(huán)境對(duì)象,初始值 為False;
event.isSet():返回event的狀態(tài)值;
event.wait():如果 event.isSet()==False將阻塞線程;
event.set(): 設(shè)置event的狀態(tài)值為True,所有阻塞池的線程激活進(jìn)入就緒狀態(tài), 等待操作系統(tǒng)調(diào)度;
event.clear():恢復(fù)event的狀態(tài)值為False。
相關(guān)推薦:《python視頻教程》
import threading, time
class Boss(threading.Thread):
def run(self):
print("BOSS: 今晚大家加班")
event.isSet() or event.set()
time.sleep(5)
print("BOSS: 大家可以下班了")
event.isSet() or event.set()
class Worker(threading.Thread):
def run(self):
event.wait()
print("Worker: 唉。")
time.sleep(0.25)
event.clear()
event.wait()
print("Worker: Great!")
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()運(yùn)行結(jié)果:
BOSS: 今晚大家加班 Worker: 唉。 Worker: 唉。 Worker: 唉。 Worker: 唉。 Worker: 唉。 BOSS: 大家可以下班了 Worker: Great! Worker: Great! Worker: Great! Worker: Great! Worker: Great!
相關(guān)推薦:
Python如何實(shí)現(xiàn)條件變量同步
分享題目:創(chuàng)新互聯(lián)Python教程:Python如何實(shí)現(xiàn)線程條件同步
瀏覽路徑:http://m.fisionsoft.com.cn/article/cdppdsd.html


咨詢
建站咨詢
