python线程池怎么使用
时间: 2023-10-24 13:58:17 浏览: 149
在Python中,你可以使用`concurrent.futures`模块中的`ThreadPoolExecutor`类来创建线程池并执行任务。下面是一个简单的示例:
```python
import concurrent.futures
# 定义一个任务函数
def task(name):
print(f"Task {name} starting")
# 执行具体任务的代码
print(f"Task {name} done")
# 创建线程池
with concurrent.futures.ThreadPoolExecutor() as executor:
# 提交任务到线程池
future1 = executor.submit(task, "A")
future2 = executor.submit(task, "B")
# 获取任务的结果(可选)
result1 = future1.result()
result2 = future2.result()
# 线程池会自动管理线程的创建和回收,无需手动处理
```
在上面的示例中,我们首先定义了一个任务函数`task`,该函数接受一个参数`name`表示任务的名称。然后,我们使用`ThreadPoolExecutor`创建了一个线程池,并使用`submit`方法提交了两个任务到线程池中。每个任务都会在一个独立的线程中执行。
你可以根据实际需求来编写具体的任务函数,并根据需要提交不同数量的任务到线程池中。在需要获取任务结果时,可以使用`future.result()`方法获取任务的返回值(如果有)。
需要注意的是,线程池的大小默认为系统的CPU核心数,但你也可以通过传递参数给`ThreadPoolExecutor`来指定线程池的大小,例如`ThreadPoolExecutor(max_workers=5)`表示创建一个最大容纳5个线程的线程池。
阅读全文