日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
使用事件對象的線程同步

是時候了解更多 python 中的線程了。在本教程中,我們將介紹一個重要的類,Event類,它在 python 中用于線程同步。

創(chuàng)新互聯(lián)服務(wù)項目包括騰沖網(wǎng)站建設(shè)、騰沖網(wǎng)站制作、騰沖網(wǎng)頁制作以及騰沖網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,騰沖網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到騰沖省份的部分城市,未來相信會繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

這個類通過生成事件用于線程間通信。


Python 多線程:事件對象

事件類對象提供了一種簡單的機(jī)制,用于線程之間的通信,其中一個線程發(fā)出事件信號,而其他線程等待它。因此,當(dāng)一個用于產(chǎn)生信號的線程產(chǎn)生信號時,等待的線程就會被激活。

一個內(nèi)部標(biāo)志被稱為事件標(biāo)志的事件對象使用,該標(biāo)志可以使用set()方法設(shè)置為真,并且可以使用clear()方法重置為假。

wait()方法阻塞一個線程,直到它正在等待的事件標(biāo)志被任何其他線程設(shè)置為真..

以下是與事件對象一起使用的有用函數(shù):

初始化事件對象

我們可以如下初始化事件對象:

import threading

are_you_coming = threading.Event()

當(dāng)我們像這樣初始化一個事件對象時,默認(rèn)情況下內(nèi)部標(biāo)志被設(shè)置為假。


isSet()方法

當(dāng)且僅當(dāng)內(nèi)部標(biāo)志為真時,此方法返回真。

import threading

are_you_coming = threading.Event()
print(are_you_coming.isSet())

錯誤的


set()方法

當(dāng)對任何事件對象調(diào)用此方法時,內(nèi)部標(biāo)志被設(shè)置為 true。一旦為任何事件調(diào)用set()方法,所有等待它的線程都會被喚醒。


clear()方法

此方法將內(nèi)部標(biāo)志重置為 false。隨后,對調(diào)用clear()的事件調(diào)用wait()的線程將阻塞,直到內(nèi)部標(biāo)志再次不為真。


wait([timeout])方法

當(dāng)我們必須讓任何線程等待一個事件時,我們可以這樣做:在內(nèi)部標(biāo)志設(shè)置為 false 的事件上調(diào)用這個方法,這樣做將阻塞線程,直到事件的內(nèi)部標(biāo)志為 true。

如果入口時內(nèi)部標(biāo)志為真,則線程永遠(yuǎn)不會被阻塞。否則,它將被阻止,直到另一個線程調(diào)用set()將標(biāo)志設(shè)置為真,或者直到可選超時發(fā)生。timeout 參數(shù)以秒為單位指定操作超時。


舉個例子

讓我們有一個簡單的代碼示例來演示Event類對象的用法。

在下面的代碼中,我們將創(chuàng)建一個線程,讓它等待一個由主線程生成的事件,釋放第一個線程。

在上面的程序中,我們也使用了wait()方法的timeout屬性。

當(dāng)線程調(diào)用wait([timeout])方法時,如果在接收事件對象時釋放等待,則該方法返回布爾值真,否則如果由于超時而釋放等待,則該方法返回假。

為了測試這一點,更改第 18 行作為參數(shù)args=(e,4)發(fā)送的超時值,并使其小于睡眠時間,例如,將超時值設(shè)置為 2 并查看輸出。



當(dāng)前名稱:使用事件對象的線程同步
轉(zhuǎn)載源于:http://www.5511xx.com/article/dhcpgid.html