Python 多程序 Event 重複使用喚醒

2021-08-21 05:20:49 字數 1012 閱讀 2966

原作者的意思是要把__event寫到類內部,不能寫乙個全域性變數就了事,

這次測試發現,event可以重複使用,重複被喚醒。

2019.0516測試ok

#/usr/bin/env python

#coding:utf-8

import datetime

import multiprocessing

import time

#定義event全域性物件

e=multiprocessing.event()

#擴充套件的程序類

class myproces***(multiprocessing.process):

def __init__(self,name,event):

super(myproces***,self).__init__(name=name)

self.__event=event

def run(self):

print('process() work...'.format(name=self.name))

time.sleep(1)

print('process() sleep...'.format(name=self.name))

#進入等待狀態

while 1:

self.__event.wait()

print('process() awake'.format(name=self.name),datetime.datetime.now())

if __name__=='__main__':

p=myproces***(name='model1',event=e)

p.start()

for i in range(1000):

time.sleep(1)

#喚醒e.set()

e.clear()#加這一句就可以重複使用了

print('event status:'.format(s=e.is_set()))

Python多程序Event 的使用

通俗點兒講就是 event wait 插入在程序中插入乙個標記 flag 預設為 false 然後flag為false時 程式會停止執行 進入阻塞狀態 event set 使flag為ture 然後程式會停止執行 進入執行狀態 event clear 使flag為false 然後程式會停止執行 進入...

python 多程序 Event的使用

event事件 多程序的使用 通俗點兒講 就是 1.event wait 插入在程序中插入乙個標記 flag 預設為 false 然後flag為false時 程式會停止執行 進入阻塞狀態 2.event set 使flag為ture 然後程式會停止執行 進入執行狀態 3.event clear 使f...

python 多程序程式設計(三) 事件event

事件event是用於堵塞程序執行的乙個用途,可以讓程序之間做到同時堵塞同時進行,類似於一種斷點的效果,常用於一種訊號狀態的傳遞 e event 建立乙個event物件 e.is set 展示當前event的狀態,乙個物件剛被建立是,狀態都為false即阻塞狀態 e.wait wait方法會根據當前的...