python怎么写线程池
时间: 2023-11-17 08:03:11 浏览: 90
Python中可以使用`concurrent.futures`模块来实现线程池。具体步骤如下:
1. 首先导入`concurrent.futures`模块:
```python
import concurrent.futures
```
2. 创建一个线程池对象,可以指定线程池中线程的数量:
```python
with concurrent.futures.ThreadPoolExecutor(max_workers=5) as executor:
# do something
```
3. 使用`submit()`方法向线程池中提交任务,该方法返回一个`Future`对象,可以通过该对象获取任务的执行结果:
```python
with concurrent.futures.ThreadPoolExecutor(max_workers=5) as executor:
future = executor.submit(func, arg1, arg2)
result = future.result()
```
其中,`func`为要执行的函数,`arg1`和`arg2`为函数的参数。
4. 可以使用`map()`方法向线程池中提交多个任务,该方法返回一个迭代器,可以通过迭代器获取每个任务的执行结果:
```python
with concurrent.futures.ThreadPoolExecutor(max_workers=5) as executor:
results = executor.map(func, [arg1, arg2, arg3])
```
其中,`func`为要执行的函数,`[arg1, arg2, arg3]`为函数的参数列表。
阅读全文