事件锁基于条件锁。IT和条件锁之间的区别在于,只能一次发布子线程操作,并且不能释放。我们可以在交通灯的情况下锁定该事件。当红灯打开时,所有线程都在等待;当绿灯打开时,所有线程都在运行。
条件锁的条件如下:
threading.event()返回对象锁定对象螺纹.event()。clear()在悬挂状态螺纹中制作所有事件。event()。)确定当前事件的状态,运行状态为真,悬架状态为falsethreading.event()。等待(超时= none)将当前线程设置为“暂停状态,只有线程接收“绿光通知”,或者超时时间成熟到期,然后继续运行。“等待”状态中的线程将允许系统允许系统根据要运行的策略切换到其他线程。有2个实例示例01:
结果:
示例02:
结果:
event()不能使用with语句,但只能正常操作。示例02:
结果: