新聞中心

創(chuàng)新互聯(lián)公司專(zhuān)業(yè)為企業(yè)提供陽(yáng)新網(wǎng)站建設(shè)、陽(yáng)新做網(wǎng)站、陽(yáng)新網(wǎng)站設(shè)計(jì)、陽(yáng)新網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)與制作、陽(yáng)新企業(yè)網(wǎng)站模板建站服務(wù),10多年陽(yáng)新做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
在py線程的使用上,有三個(gè)方式是需要用到的,并且和生產(chǎn)者與消費(fèi)者有關(guān)系,一個(gè)是今天我們要說(shuō)的條件變量,還有一個(gè)是關(guān)于消息隊(duì)列,最后一個(gè)是協(xié)程方式的使用,這里是包括了兩個(gè)形式,線程和協(xié)程,下面就使用condition給大家演示整個(gè)執(zhí)行過(guò)程,可以作為我們?nèi)蘸笳{(diào)用的模板。
條件變量(Condition)方式,最復(fù)雜的一種
直接給大家貼出代碼:
# 條件變量:鎖功能加入等待和喚醒功能,默認(rèn)RLock # 兩個(gè)線程用一個(gè) cond 鎖,手動(dòng)喚醒和等待 import time from threading import Thread from threading import Condition cond = Condition() num = 0 def producer(): # 生產(chǎn)者線程 def customer(): # 消費(fèi)者線程 global num thd1 = Thread(target=producer) thd1.join() # 線程同步-等子線程結(jié)束,主線程再繼續(xù)運(yùn)行
簡(jiǎn)單給大家解釋上面的程序,我們要執(zhí)行工作程序,需要定義好線程,然后讓生產(chǎn)者獲取,當(dāng)消費(fèi)者碰到時(shí)候只能進(jìn)行等待,當(dāng)執(zhí)行程序滿足條件以后,在傳遞給消費(fèi)者線程,這樣的一套流程即是條件變量的使用。
當(dāng)前標(biāo)題:創(chuàng)新互聯(lián)Python教程:pythoncondition條件變量
本文鏈接:http://m.fisionsoft.com.cn/article/ccedepo.html


咨詢
建站咨詢
