python多线程同步,怎样实现线程同步
同步条件
条件同步和条件变量同步差不多意思,只是少了锁功能,因为条件同步设计于不访问共享资源的条件环境事件=线程。事件():条件环境对象,初始值为假的;
event.isSet():返回事件的状态值;
事件.等待().如果event.isSet()==False将阻塞线程;
event.set():设置事件的状态值为没错,所有阻塞池的线程激活进入就绪状态,等待操作系统调度;
事件. clear().恢复事件的状态值为错误。
相关推荐: 《Python视频教程》
导入线程,时间
班级老板(线程。螺纹):
defrun(self):
打印( BOSS:今晚大家加班)
event.isSet()orevent.set()
时间。睡眠(5)
打印( BOSS:大家可以下班了)
event.isSet()orevent.set()
班级工作者(线程。螺纹):
defrun(self):
event.wait()
打印( Worker:唉。)
时间。睡眠(0.25)
event.clear()
event.wait()
打印("工人:棒极了!")
if__name__==__main__:
事件=线程。事件()
线程=[]
(5):
threads.append(Worker())
threads.append(Boss())
fortinthreads:
启动()
fortinthreads:
t.join()运行结果:
BOSS:今晚大家加班
工人:唉。
工人:唉。
工人:唉。
工人:唉。
工人:唉。
BOSS:大家可以下班了
工人:棒极了太棒了!
工人:棒极了太棒了!
工人:棒极了太棒了!
工人:棒极了太棒了!
工人:棒极了太棒了!相关推荐:
计算机编程语言如何实现条件变量同步
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。