join 等待线程
44.3 join 等待线程
t.join() 阻塞当前线程直到 t 结束;可传 timeout 秒数超时。
主线程应 join 子线程,否则子线程可能没跑完程序就退出。
join 与 timeout
# ========================================
# 示例:join 等待
# 说明:join(timeout=2) 最多等 2 秒
# ========================================
import threading
import time
def slow():
time.sleep(3)
print('慢任务完成')
t = threading.Thread(target=slow)
t.start()
ok = t.join(timeout=2) # 2 秒后主线程继续
print('join 返回', ok, '线程仍存活' if t.is_alive() else '线程已结束')