python基础学习日志day9--线程event

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python基础学习日志day9--线程event相关的知识,希望对你有一定的参考价值。

 一:线程event作用

  Python提供了Event对象用于线程间通信,它是线程设置的信号标志,如果信号标志位真,则其他线程等待直到信号结束。

  Event对象实现了简单的线程通信机制,它提供了设置信号,清楚信号,等待等用于实现线程间的通信。

  官方解释

  event是一个简单的同步对象;event表示内部标志和线程。可以等待标志设置,或设置或清除标志本身。

二:event使用

  1)event = threading.Event() 申明event实例 
  2)event.wait()。线程设置等待标志
  3)event.set()    如果设置了标志,则等待方法不执行任何操作
  4)event.clear() 如果标志已清除,等待将阻塞,直到它再次设置。

  任意数量的线程都可能等待相同的事件。

 

三:示例代码

  通过Event来实现两个或多个线程间的交互,下面是一个红绿灯的例子,即起动一个线程做交通指挥灯,生成几个线程做车辆,车辆行驶按红灯停,绿灯行的规则。

  




以上是关于python基础学习日志day9--线程event的主要内容,如果未能解决你的问题,请参考以下文章

Python学习之路--Day9

Python--day9--进程/线程/协程

Python之路,Day9, 进程线程协程篇

学习python:day9

day9-Python学习笔记(二十二)多线程,多进程

Python之路第一课Day9--随堂笔记之二(进程线程协程篇)