python 多線程 事件event(并行編程 7)

a.wait() b.wait() c.wait() /// set() //all start()

coding:utf-8

import threading
import time

event = threading.Event()

def chihuoguo(name):
# 等待事件,進(jìn)入等待阻塞狀態(tài)
print '%s 已經(jīng)啟動(dòng)' % threading.currentThread().getName()
print '小伙伴 %s 已經(jīng)進(jìn)入就餐狀態(tài)!'%name
time.sleep(1)
event.wait()
# 收到事件后進(jìn)入運(yùn)行狀態(tài)
print '%s 收到通知了.' % threading.currentThread().getName()
print '小伙伴 %s 開(kāi)始吃咯!'%name

設(shè)置線程組

threads = []

創(chuàng)建新線程

thread1 = threading.Thread(target=chihuoguo, args=("a", ))
thread2 = threading.Thread(target=chihuoguo, args=("b", ))

添加到線程組

threads.append(thread1)
threads.append(thread2)

開(kāi)啟線程

for thread in threads:
thread.start()

time.sleep(0.1)

發(fā)送事件通知

print '主線程通知小伙伴開(kāi)吃咯!'
event.set()

Thread-1 已經(jīng)啟動(dòng)
小伙伴 a 已經(jīng)進(jìn)入就餐狀態(tài)!
Thread-2 已經(jīng)啟動(dòng)
小伙伴 b 已經(jīng)進(jìn)入就餐狀態(tài)!
主線程通知小伙伴開(kāi)吃咯!
Thread-1 收到通知了.
小伙伴 a 開(kāi)始吃咯!
Thread-2 收到通知了.
小伙伴 b 開(kāi)始吃咯!

threading.Event()

ev.wait()
ev.set()
ev.clear()

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 線程 操作系統(tǒng)線程理論 線程概念的引入背景 進(jìn)程 之前我們已經(jīng)了解了操作系統(tǒng)中進(jìn)程的概念,程序并不能單獨(dú)運(yùn)行,只有...
    go以恒閱讀 1,798評(píng)論 0 6
  • class threading.Thread(group=None,target=None,name=None,a...
    SkTj閱讀 540評(píng)論 0 2
  • 概述 多線程給我們帶來(lái)的好處是可以并發(fā)的執(zhí)行多個(gè)任務(wù),特別是對(duì)于I/O密集型的業(yè)務(wù),使用多線程,可以帶來(lái)成倍的性能...
    SimonChen閱讀 9,638評(píng)論 0 5
  • 一文讀懂Python多線程 1、線程和進(jìn)程 計(jì)算機(jī)的核心是CPU,它承擔(dān)了所有的計(jì)算任務(wù)。它就像一座工廠,時(shí)刻在運(yùn)...
    星丶雲(yún)閱讀 1,596評(píng)論 0 4
  • 串行:同一個(gè)時(shí)間段只干一件事 并行:同一個(gè)時(shí)間段可以干多件事 并發(fā) V.S. 并行并發(fā)是指一個(gè)時(shí)間段內(nèi),有幾個(gè)程序...
    蘇慕漓閱讀 4,973評(píng)論 0 5

友情鏈接更多精彩內(nèi)容