python--事件event簡單用法
在併發程式設計中,涉及到了時間event的使用,首先要先了解到event上執行緒threading模組中的一個類。具體的用法有:
event.set() # 設定標誌位
event.wait() #等待設定標誌位
event.clear() # 清除標誌位
廢話不說,看栗子
from threading import Event,
Thread
import time
import random
event = Event()
def Light():
print('紅燈亮了')
time.sleep(random.randint(1, 2))
event.set() # 設定標誌位
print('綠燈亮了')
# def car(i):
# print('%s 正在等紅燈' % i)
# event.wait() #等待設定標誌位
# print('%s加油起步' % i)
def car(i):
print('%s 正在等紅燈' % i)
event.clear() # 清除標誌位
print('%s加油起步' % i)
t1 = Thread(target=Light)
t1.start()
for i in range(3):
t = Thread(target=car, args=(i,))
t.start()
'''
事件Event.wait()執行結果
紅燈亮了
0 正在等紅燈
1 正在等紅燈
2 正在等紅燈
綠燈亮了
2加油起步
0加油起步
1加油起步
'''
#事件Event.clear()的執行結果
'''
紅燈亮了
0 正在等紅燈
0加油起步
1 正在等紅燈
1加油起步
2 正在等紅燈
2加油起步
綠燈亮了
'''
相關文章
- onerror事件用法簡單介紹Error事件
- jquery事件物件event常用屬性簡單介紹jQuery事件物件
- js事件之event.preventDefault()與event.stopPropagation()用法區別JS事件
- python多執行緒、鎖、event事件機制的簡單使用Python執行緒事件
- 簡單事件事件
- JFinal-event v2.3.0 釋出,簡化 Event 事件類事件
- WITH的簡單用法
- mysql的event的簡單使用MySql
- jquery黏貼事件用法簡介jQuery事件
- mysql 事件 eventMySql事件
- event事件(1)事件
- c#窗體form(winform)事件event呼叫事件的簡小示例C#ORM事件
- Promise的簡單用法Promise
- golang flag簡單用法Golang
- mysqldumpslow簡單用法MySql
- JS中event事件JS事件
- Laravel使用event事件Laravel事件
- Tkinter (44) 事件 Event事件
- git-stash簡單用法Git
- Android Scroller簡單用法Android
- Android AsyncTask簡單用法Android
- MySQL入門--EVENT(事件)MySql事件
- 事件迴圈(event loop)事件OOP
- js中事件物件eventJS事件物件
- Oracle EVENT用法參考列表Oracle
- getComputedStyle的簡單用法
- jQuery filter() 用法簡單介紹jQueryFilter
- javascript的this用法簡單介紹JavaScript
- js WebSocket用法簡單介紹JSWeb
- javascript arguments用法簡單介紹JavaScript
- execute immediate的簡單用法(oracle)Oracle
- javascript this用法和簡單例項JavaScript單例
- linux read簡單用法Linux
- android:ListView 的簡單用法AndroidView
- javascript事件冒泡簡單例項JavaScript事件單例
- invalid事件簡單介紹事件
- onreadystatechange事件簡單介紹事件
- JS事件迴圈Event LoopJS事件OOP