在併發程式設計中,涉及到了時間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加油起步
綠燈亮了
'''
laravel事件event簡單例項
生成事件類 監聽類 php artisan event generate事件類blo iew中寫入要觸發的事件 use illuminate broadcasting channel use illuminate queue serializesmodels use illuminate broad...
事件物件event
1.e.client 相對於當前頁面 視窗,不是這個元素 可視區域的左頂點 document.onmousemove function e 2.e.screen 相對於計算機螢幕的左頂點 document.body.onclick function e 3.offset 事件觸發時滑鼠距離該元素左邊...
事件物件(event)
再觸發dom上的某個事件時,會產生乙個事件物件event,這個物件中包含著所有與事件有關的資訊。所有瀏覽器都支援event物件,但支援的方式不同。1.事件物件的獲取 event的獲取 event內容重要內容 2.screenx pagex和clientx的區別 3.pagey和pagex的相容寫法 ...