Python的线程10 使用Event保证多线程同时执行

import threading
import time

xuewei_event = threading.Event()

print("event:", xuewei_event)
print("is_set:", xuewei_event.is_set())

def run():
    print(" %s ready" % threading.current_thread().name)
    xuewei_event.wait()
    print(" %s go" % threading.current_thread().name)
    time.sleep(0.5)
    print(" %s completed" % threading.current_thread().name)

threads = []
for i in range(4):
    t_name = "t-" + str(i)
    t = threading.Thread(name=t_name, target=run)
    threads.append(t)
    t.start()

# 学委提示:赛场鸣枪,运动员开跑
for i in [3, 2, 1]:
    print("学委倒数 count %s" % i)
    time.sleep(1)
xuewei_event.set()
print("is_set:", xuewei_event.is_set())

for t in threads:
    t.join()
 0
 0
 分享
评论图片
评论