代码:
from threading import Thread, Event
import time
def countdown(n, start_env):
print("countdown starting!")
start_env.set()
while n > 0:
print("T-minus", n)
n -= 1
time.sleep(2)
start_env = Event()
print('Launching Thread-countdown')
t = Thread(target=countdown, args=(10, start_env))
t.start()
start_env.wait()
print("countdown Running..............")
t.join()
输出结果:
Launching Thread-countdown
countdown starting!
T-minus 10
countdown Running..............
T-minus 9
T-minus 8
T-minus 7
T-minus 6
T-minus 5
T-minus 4
T-minus 3
T-minus 2
T-minus 1
我想问:为什么countdown Running 只在T-minus 10后输出一次?
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
因为你只wait了一次 线程也只有一个 多开点线程然后 wait放循环里就是多次了
刚写完问题就看到一个解释:“我们创建一个事件,让线程等待事件被设置,然后一旦完成设置,事件就被丢弃”
是这样吗?
哥们,你觉得不是输出一次,应该是几次?