<label id="bh7tp"><big id="bh7tp"></big></label>

<em id="bh7tp"><tr id="bh7tp"><u id="bh7tp"></u></tr></em>
<th id="bh7tp"></th>

<li id="bh7tp"><acronym id="bh7tp"></acronym></li>
  • <em id="bh7tp"></em>

    <tbody id="bh7tp"><pre id="bh7tp"></pre></tbody>
  • Python教程自學網歡迎您來學習!
    當前位置: 首頁 > Pyhon開發 > python線程事件Event的原理

    python線程事件Event的原理

       

    python線程事件Event的原理

    python線程事件Event原理分析

    1、事件event中有一個全局內置標志Flag,值為True或False。

    2、使用wait函數的線程將處于堵塞狀態。此時,Flag是指False。

    直到其他線程調用set函數將全球標志Flag放置為True,堵塞的線程將立即恢復運行,并使用isSet函數檢查當前Flag狀態。

    python線程事件Event實例

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

    <em id="bh7tp"><tr id="bh7tp"><u id="bh7tp"></u></tr></em>
    <th id="bh7tp"></th>

    <li id="bh7tp"><acronym id="bh7tp"></acronym></li>
  • <em id="bh7tp"></em>

    <tbody id="bh7tp"><pre id="bh7tp"></pre></tbody>