新聞中心
線程間通信方法
1. 通信方法
線程間使用全局變量進(jìn)行通信
2. 共享資源爭(zhēng)奪
共享資源:多個(gè)進(jìn)程或者線程都可以操作的資源稱(chēng)為共享資源。對(duì)共享資源的操作代碼段稱(chēng)為臨界區(qū)。
影響 : 對(duì)共享資源的無(wú)序操作可能會(huì)帶來(lái)數(shù)據(jù)的混亂,或者操作錯(cuò)誤。此時(shí)往往需要同步互斥機(jī)制協(xié)調(diào)操作順序。
3. 同步互斥機(jī)制
同步 : 同步是一種協(xié)作關(guān)系,為完成操作,多進(jìn)程或者線程間形成一種協(xié)調(diào),按照必要的步驟有序執(zhí)行操作。兩個(gè)或兩個(gè)以上的進(jìn)程或線程在運(yùn)行過(guò)程中協(xié)同步調(diào),按預(yù)定的先后次序運(yùn)行。比如 A 任務(wù)的運(yùn)行依賴(lài)于 B 任務(wù)產(chǎn)生的數(shù)據(jù)。
互斥 : 互斥是一種制約關(guān)系,當(dāng)一個(gè)進(jìn)程或者線程占有資源時(shí)會(huì)進(jìn)行加鎖處理,此時(shí)其他進(jìn)程線程就無(wú)法操作該資源,直到解鎖后才能操作。一個(gè)公共資源同一時(shí)刻只能被一個(gè)進(jìn)程或線程使用,多個(gè)進(jìn)程或線程不能同時(shí)使用公共資源
線程同步互斥方法
線程Event同步
from threading import Event e = Event() 創(chuàng)建線程event對(duì)象 e.wait([timeout]) 阻塞等待e被set e.set() 設(shè)置e,使wait結(jié)束阻塞 e.clear() 使e回到未被設(shè)置狀態(tài) e.is_set() 查看當(dāng)前e是否被設(shè)置
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿(mǎn)足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。
網(wǎng)頁(yè)題目:淺談Python線程的同步互斥與死鎖-創(chuàng)新互聯(lián)
本文URL:http://www.dlmjj.cn/article/ddhooj.html