事件Event
1、创建线程对象
e = threading.Event()
2、事件阻塞函数
e.wait([timeout])
3、设置事件
e.set()
4、清除事件
e.clear()
import threading 
from time import sleep 
#共享资源
s = None
#创建事件对象
e = threading.Event()
def bar():
    print("呼叫foo")
    global s 
    s = "天王盖地虎"
def foo():
    print("等口令")
    sleep(2)
    if s == "天王盖地虎":
        print("宝塔镇河妖")
    else:
        print("打死他")
    e.set()
def fun():
    print("呵呵....")
    sleep(1)
    e.wait()
    global s 
    s = "小鸡炖蘑菇"
b = threading.Thread(target = bar)
f = threading.Thread(target = foo)
t = threading.Thread(target = fun)
b.start()
f.start()
t.start()
b.join()
f.join()
t.join()
#结果
呼叫foo
等口令
呵呵....
宝塔镇河妖
线程标准库模块--threading(之线程同步机制--事件Event)
原文:https://www.cnblogs.com/longyuu/p/14261694.html