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("所有线程任务已完成")
python 多线程任务判断子线程所绑定的函数是否全部执行完毕
最新推荐文章于 2024-06-20 17:54:56 发布