python-Event事件线程同步和互斥

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python-Event事件线程同步和互斥相关的知识,希望对你有一定的参考价值。

 1  #!/usr/bin/python
 2 #coding=utf-8
 3 #用于线程间通信,通过事件标识控制
 4 import threading
 5 from time import sleep,ctime
 6 
 7 def A():
 8     print "A is starting"
 9     event_is_set=e.wait()
10     print "event set1:%s"%event_is_set
11 
12 def B(e,t):
13     while not e.isSet():
14         print "wait for event timeout starting"
15         event_is_set=e.wait(t)
16         print "event set2:%s"%event_is_set
17         if event_is_set:
18             print "event process"
19         else:
20             print "do other work"
21 
22 e=threading.Event() 
23 t1=threading.Thread(target=A)
24 t1.start()
25 t2=threading.Thread(target=B,args=(e,4))
26 t2.start()
27 
28 print "waiting before calling event set"
29 sleep(5)
30 e.set()
31 print "event is set"

 

以上是关于python-Event事件线程同步和互斥的主要内容,如果未能解决你的问题,请参考以下文章

经典线程同步总结 关键段 事件 互斥量 信号量

秒杀多线程第九篇 经典线程同步总结 关键段 事件 互斥量 信号量

RTOS基础之线程间同步

用户模式同步之互斥体小解

线程同步的方式和机制

同步互斥的实现