首页 > 代码库 > python基础学习日志day9--线程event

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