import threading
import time
def worker(event, thread_name):
print(f"{thread_name} 正在执行任务...")
time.sleep(20)
print(f"{thread_name} 任务执行完成")
event.set() # 设置事件为已触发状态
def WatchJoin(threads,event):
# 等待所有线程完成任务
for thread in threads:
thread.join()
print("WatchJoin Finish!")
event.wait()
return True
# 创建一个事件对象
event = threading.Event()
# 创建多个线程,并启动它们
threads = []
for i in range(5):
thread = threading.Thread(target=worker, args=(event, f"线程{i+1}"))
thread.start()
threads.append(thread)
thread = threading.Thread(target=WatchJoin, args=(threads,event))
thread.start()
for i in range(10):
time.sleep(1)
print(i)
# 等待事件被设置为已触发状态
# print("所有线程任务已完成")
04-27
6781
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交