'''
Event实现线程通信
'''
import threading
import time
def handleEvent(event):
global data
print("子线程正在循环监听事件...")
tname = threading.current_thread().getName()
while True:
event.wait()
time.sleep(0.1)
print("%s处理事件*%d" % (tname, data), event)
event.clear()
print("事件已被处理")
pass
data = 0
if __name__ == '__main__':
event = threading.Event()
threading.Thread(target=handleEvent, args=(event,), name="foo").start()
threading.Thread(target=handleEvent, args=(event,), name="bas").start()
threading.Thread(target=handleEvent, args=(event,), name="pig").start()
for i in range(10):
data += 1
event.set()
print("\n事件已发布*%d\n" % (data))
time.sleep(1)
pass