import threading data = 0 def handle_event(event): print('开始监听事件。。。') count = 0 global data while True: # 监听事件 event.wait() print('{1}开始处理事件*{0}'.format(data, threading.current_thread().getName())) event.clear() print('事件处理完毕') count += 1 if count == 5: break if __name__ == '__main__': event = threading.Event() threading.Thread(target=handle_event, args=(event,), name="线程1").start() threading.Thread(target=handle_event, args=(event,), name="线程2").start() for i in range(5): data = i # 发布 event.set() print('发布事件。。。{0}'.format(i)) import time time.sleep(1)