代码:
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后输出一次?
因为你只wait了一次 线程也只有一个 多开点线程然后 wait放循环里就是多次了