Python写一个线程池创建五个线程分别执行不同任务
时间: 2024-10-23 09:03:33 浏览: 34
在Python中,可以使用`concurrent.futures`模块中的ThreadPoolExecutor来创建线程池并让多个线程同时执行不同的任务。这里是一个简单的例子:
```python
import concurrent.futures
# 定义一些任务函数
def task1():
print('Task 1 is running...')
# 这里替换成实际的任务代码
def task2():
print('Task 2 is running...')
# 这里替换成实际的任务代码
def task3():
print('Task 3 is running...')
# 这里替换成实际的任务代码
def task4():
print('Task 4 is running...')
# 这里替换成实际的任务代码
def task5():
print('Task 5 is running...')
# 这里替换成实际的任务代码
# 创建一个最大线程数为5的线程池
with concurrent.futures.ThreadPoolExecutor(max_workers=5) as executor:
# 提交任务到线程池
futures = [executor.submit(task1), executor.submit(task2), executor.submit(task3),
executor.submit(task4), executor.submit(task5)]
# 等待所有任务完成
for future in concurrent.futures.as_completed(futures):
try:
print('Task completed:', future.result())
except Exception as exc:
print('An error occurred:', exc)
```
在这个例子中,每个`submit()`方法会将任务作为Future对象提交给线程池,然后主线程等待所有的Future完成。每个线程会在独立的工作单元中执行对应的任务。
阅读全文