Python中event事件,python threading.event
原理分析
1.事件event中有一个值为True或False的全局内置标志。
2.使用等待函数的线程将被阻塞。在这种情况下,Flag意味着False。
直到其他线程调用set函数将全局标志Flag设置为True,被阻塞的线程才会立即恢复运行,并使用isSet函数检查当前标志状态。
实例
#!usr/bin/envpython
#-*-编码:utf-8_*-
#导入线程模块
导入线程
#创建事件事件
eEvent=线程。事件()
defget_girl_friend(id):
打印(单身狗{}都准备好了,内置标志状态:{} . 。格式(ID,eevent.isset()))
eEvent.wait()
打印(单身狗%d告别单身.%id)
if__name__==__main__:
thread_list=list()
用于范围(1,11):
#创建并初始化一个线程
t=螺纹。Thread(target=get_girl_friend,args=(i,))
#开始线程
启动()
#将线程句柄添加到列表
线程列表附加(t)
#当所有线程就绪时,将事件内置标志设置为True,并恢复被阻塞的线程。
eEvent.set()
#遍历列表并阻塞主线程
fortinthread_list:
#阻塞主线程并等待所有子线程完成
t.join()
打印(“程序结束!”)
输出结果:
1单身狗一切就绪,内置标志状态:假.
2单身狗就绪,内置标志状态:假。
单身狗都准备好了,内置标志状态:假。
单身狗都准备好了,内置标志状态:假。
5只单身狗都准备好了,内置标志状态:假.
6只单身狗都准备好了,内置标志状态:假.
7单身狗都准备好了,内置标志状态:假.
8只单身狗都准备好了,内置标志状态:假.
9只单身狗都准备好了,内置标志状态:假.
单身狗10一切就绪,内置标志状态:假.
5单身狗告别单身,内置国旗状态:真.
6单身狗告别单身,内置国旗状态:真.
7单身狗告别单身,内置国旗状态:真.
1单身狗告别单身,内置国旗状态:真.
8单身狗告别单身,内置国旗状态:真.
单身狗10告别单身,内置国旗状态:真.
4单身狗告别单身,内置国旗状态:真.
9单身狗告别单身,内置国旗状态:真.
3单身狗告别单身,内置国旗状态:真.
2单身狗告别单身,内置国旗状态:真.
程序结束!
以上是python线程事件的原理,希望对你有帮助。更多python学习方向:Python基础课程
本教程运行环境:windows7系统,Python 3.9.1,DELL G3电脑。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。