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

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

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)Python教程:python線程事件Event的原理

原理分析

創(chuàng)新互聯(lián)建站 - 四川服務(wù)器托管,四川服務(wù)器租用,成都服務(wù)器租用,四川網(wǎng)通托管,綿陽服務(wù)器托管,德陽服務(wù)器托管,遂寧服務(wù)器托管,綿陽服務(wù)器托管,四川云主機,成都云主機,西南云主機,四川服務(wù)器托管,西南服務(wù)器托管,四川/成都大帶寬,機柜大帶寬、租用·托管,四川老牌IDC服務(wù)商

1、事件EVENT中有一個全局內(nèi)置標(biāo)志Flag,值為True或False。

2、使用wait函數(shù)的線程將處于堵塞狀態(tài)。此時,F(xiàn)lag是指False。

直到其他線程調(diào)用set函數(shù)將全球標(biāo)志Flag放置為True,堵塞的線程將立即恢復(fù)運行,并使用isSet函數(shù)檢查當(dāng)前Flag狀態(tài)。

實例

# !usr/bin/env python
# -*- coding:utf-8 _*-
# 導(dǎo)入線程模塊
import threading
 
# 創(chuàng)建event事件
eEvent = threading.Event()
 
def get_girl_friend(id):
    print("單身狗{}都準(zhǔn)備完畢,內(nèi)置Flag狀態(tài):{}.....".format(id,eEvent.isSet()))
    eEvent.wait()
    print("單身狗%d告別單身....."%id)
 
 
if __name__ == "__main__":
 
    thread_list = list()
 
    for i in range(1,11):
        # 創(chuàng)建并初始化線程
        t = threading.Thread(target=get_girl_friend,args=(i,))
        # 啟動線程
        t.start()
        # 將線程句柄添加list列表中
        thread_list.append(t)
 
    # 所有線程準(zhǔn)備完畢,將event內(nèi)置Flag設(shè)置為True,恢復(fù)正在阻塞的線程
    eEvent.set()
 
    # 遍歷列表,阻塞主線程
    for t in thread_list:
        # 阻塞主線程,等待所有子線程結(jié)束
        t.join()
 
    print("程序結(jié)束!")
 
 
'''
輸出結(jié)果:
 
單身狗1都準(zhǔn)備完畢,內(nèi)置Flag狀態(tài):False.....
單身狗2都準(zhǔn)備完畢,內(nèi)置Flag狀態(tài):False.....
單身狗3都準(zhǔn)備完畢,內(nèi)置Flag狀態(tài):False.....
單身狗4都準(zhǔn)備完畢,內(nèi)置Flag狀態(tài):False.....
單身狗5都準(zhǔn)備完畢,內(nèi)置Flag狀態(tài):False.....
單身狗6都準(zhǔn)備完畢,內(nèi)置Flag狀態(tài):False.....
單身狗7都準(zhǔn)備完畢,內(nèi)置Flag狀態(tài):False.....
單身狗8都準(zhǔn)備完畢,內(nèi)置Flag狀態(tài):False.....
單身狗9都準(zhǔn)備完畢,內(nèi)置Flag狀態(tài):False.....
單身狗10都準(zhǔn)備完畢,內(nèi)置Flag狀態(tài):False.....
單身狗5告別單身,內(nèi)置Flag狀態(tài):True.....
單身狗6告別單身,內(nèi)置Flag狀態(tài):True.....
單身狗7告別單身,內(nèi)置Flag狀態(tài):True.....
單身狗1告別單身,內(nèi)置Flag狀態(tài):True.....
單身狗8告別單身,內(nèi)置Flag狀態(tài):True.....
單身狗10告別單身,內(nèi)置Flag狀態(tài):True.....
單身狗4告別單身,內(nèi)置Flag狀態(tài):True.....
單身狗9告別單身,內(nèi)置Flag狀態(tài):True.....
單身狗3告別單身,內(nèi)置Flag狀態(tài):True.....
單身狗2告別單身,內(nèi)置Flag狀態(tài):True.....
程序結(jié)束!
'''

以上就是python線程事件Event的原理,希望對大家有所幫助。更多Python學(xué)習(xí)指路:創(chuàng)新互聯(lián)Python教程

本文教程操作環(huán)境:windows7系統(tǒng)、Python 3.9.1,DELL G3電腦。


本文標(biāo)題:創(chuàng)新互聯(lián)Python教程:python線程事件Event的原理
分享鏈接:http://m.5511xx.com/article/cdcciei.html