Python中event事件,python threading.event

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: