python中如何让一个线程还没结束另一个线程就开始,用代码举例说明
时间: 2024-04-12 22:28:44 浏览: 123
在Python中,我们可以使用`threading`模块来创建和管理线程。要实现一个线程还没结束另一个线程就开始的效果,可以使用线程的`join()`方法。
下面是一个简单的示例代码,展示了如何实现一个线程还没结束另一个线程就开始的效果:
```python
import threading
import time
def thread1_func():
print("Thread 1 started")
time.sleep(2) # 模拟线程1的耗时操作
print("Thread 1 finished")
def thread2_func():
print("Thread 2 started")
time.sleep(1) # 模拟线程2的耗时操作
print("Thread 2 finished")
# 创建线程1
thread1 = threading.Thread(target=thread1_func)
# 创建线程2,并在线程1结束前启动
thread2 = threading.Thread(target=thread2_func)
thread2.start()
# 启动线程1
thread1.start()
# 等待线程1结束
thread1.join()
print("All threads finished")
```
在上述代码中,我们创建了两个线程:线程1和线程2。在主线程中,我们先启动了线程2,然后再启动线程1,并使用`join()`方法等待线程1结束。这样就实现了一个线程还没结束另一个线程就开始的效果。
输出结果类似于:
```
Thread 2 started
Thread 1 started
Thread 2 finished
Thread 1 finished
All threads finished
```
可以看到,线程2在线程1还在执行的过程中就已经开始执行了。
阅读全文