event事件 多程序的使用
通俗點兒講 就是
1. event().wait() 插入在程序中插入乙個標記(flag) 預設為 false 然後flag為false時 程式會停止執行 進入阻塞狀態
2. event().set() 使flag為ture 然後程式會停止執行 進入執行狀態
3. event().clear() 使flag為false 然後程式會停止執行 進入阻塞狀態
4. event().is_set() 判斷flag 是否為true 是的話 返回true 不是 返回false
from multiprocessing importevent,process
import
time
from datetime import
datetime
from psutil import
cpu_count
defwork(e,):
#子程序
while
true:
#print('我是子程序,我先休息!')
e.wait() #
阻塞等待訊號 這裡插入了乙個flag 預設為 false
print('
[s] 這是我的定時任務!
',datetime.now().second)
time.sleep(1)
#訊號:
#某一些使用者鏈結的時候,nginx就會做出相應
#epoll: 訊號|事件
#21點51分
defmain():
e =event()
a =int()
p = process(target=work,name='
子程序',args=(e,))
p.start()
while
true:
if datetime.now().second > 10:
print('
[f] 子程序取消阻塞狀態')
e.set()
#這裡 等秒鐘大於10s 就開啟子程序 工作 使插入的flag為 true 然後繼續執行
break
while
true:
if datetime.now().second > 30:
print('
[f] 子程序結束阻塞狀態')
e.clear()
#這裡 等秒鐘大於30s 就停止子程序工作 使插入的flag為false 就會停止子程序工作
break
time.sleep(5)#
休息5s
e.set()#
繼續使flag 為真 然後執行子程序
print('
[f] 又開啟了')
time.sleep(5)#
休息5s
e.clear()#
繼續使flag 為假 然後停止子程序
print('
[f] 又停止了')
if__name__ == '
__main__':
main()
Python多程序Event 的使用
通俗點兒講就是 event wait 插入在程序中插入乙個標記 flag 預設為 false 然後flag為false時 程式會停止執行 進入阻塞狀態 event set 使flag為ture 然後程式會停止執行 進入執行狀態 event clear 使flag為false 然後程式會停止執行 進入...
python 多程序程式設計(三) 事件event
事件event是用於堵塞程序執行的乙個用途,可以讓程序之間做到同時堵塞同時進行,類似於一種斷點的效果,常用於一種訊號狀態的傳遞 e event 建立乙個event物件 e.is set 展示當前event的狀態,乙個物件剛被建立是,狀態都為false即阻塞狀態 e.wait wait方法會根據當前的...
Python 多程序 Event 重複使用喚醒
原作者的意思是要把 event寫到類內部,不能寫乙個全域性變數就了事,這次測試發現,event可以重複使用,重複被喚醒。2019.0516測試ok usr bin env python coding utf 8 import datetime import multiprocessing impor...