使用threading.Thread创建A、B两个线程,等A线程完全执行结束,再执行B线程
时间: 2024-09-06 13:08:00 浏览: 54
判断Threading.start新线程是否执行完毕的实例
在Python中,你可以使用`threading`模块的`Thread`类来创建线程。如果你想让B线程在A线程结束后开始执行,你可以通过创建一个锁(`Lock`)或者使用`join()`方法来实现同步。下面是一个示例:
```python
import threading
# 定义两个需要执行的任务
def task_a():
print(f"A thread started at {threading.current_thread().name}")
# 模拟耗时任务
for _ in range(5):
time.sleep(1)
print(f"A thread finished at {threading.current_thread().name}")
def task_b():
print(f"B thread started at {threading.current_thread().name}")
# 同样可以在这里添加你的任务代码
# 创建一个锁
lock = threading.Lock()
# 创建A线程,并设置锁
a_thread = threading.Thread(target=task_a)
# 开始A线程
a_thread.start()
# 等待A线程执行完毕
a_thread.join() # 阻塞主线程,直到A线程结束
# 获取锁后开始B线程
with lock:
b_thread = threading.Thread(target=task_b)
b_thread.start() # B线程现在会立即运行,因为A线程已经完成并释放了锁
print("Both threads completed.")
阅读全文