python 线程列表 join
时间: 2023-10-11 20:07:06 浏览: 100
python线程join方法原理解析
在 Python 中,可以使用线程列表和 join() 方法来实现多线程编程。
线程列表是一个包含多个线程对象的列表。每个线程对象都可以执行一个函数或方法。join() 方法用于等待所有线程完成。当所有线程完成后,join() 方法返回。
以下是一个简单的示例,使用线程列表和 join() 方法实现多线程编程:
```python
import threading
# 定义一个线程类,继承自 threading.Thread
class MyThread(threading.Thread):
def __init__(self, num):
threading.Thread.__init__(self)
self.num = num
def run(self):
print("Thread " + str(self.num) + " started")
# 线程执行的代码
print("Thread " + str(self.num) + " finished")
# 创建一个线程列表
threads = []
# 创建 5 个线程
for i in range(5):
t = MyThread(i)
threads.append(t)
# 启动所有线程
for t in threads:
t.start()
# 等待所有线程完成
for t in threads:
t.join()
print("All threads finished")
```
在上面的例子中,我们创建了一个 MyThread 类,它继承自 threading.Thread 类。MyThread 类的构造函数接受一个参数 num,用于标识线程。run() 方法是线程执行的方法,我们在这里打印线程的编号和一些消息。
接下来,我们创建了一个线程列表 threads,并向其中添加 5 个 MyThread 对象。然后,我们启动所有线程,并使用 join() 方法等待所有线程完成。最后,我们打印一条消息,表示所有线程都已完成。
注意,在 Python 中,线程列表和 join() 方法可以用于控制线程的执行顺序和并发性。如果需要更高级的线程控制,可以使用 Python 中的线程锁、条件变量、信号量等同步原语。
阅读全文