python开启线程池
时间: 2023-10-12 11:12:54 浏览: 77
在 Python 中,我们可以使用 `concurrent.futures` 模块来实现线程池。以下是一个简单的示例:
```python
import concurrent.futures
def worker(num):
print(f"Thread-{num} is running")
if __name__ == "__main__":
# 创建线程池,最大线程数为 3
with concurrent.futures.ThreadPoolExecutor(max_workers=3) as executor:
# 提交任务到线程池
for i in range(5):
executor.submit(worker, i)
```
在上面的代码中,我们首先定义了一个 `worker` 函数,它接受一个数字作为参数,然后打印出线程的编号。然后,在 `if __name__ == "__main__"` 语句块中,我们使用 `ThreadPoolExecutor` 类创建了一个最大线程数为 3 的线程池。接下来,我们使用 `executor.submit` 方法向线程池提交了 5 个任务,每个任务都调用了 `worker` 函数。
当我们运行这段代码时,输出结果如下:
```
Thread-0 is running
Thread-1 is running
Thread-2 is running
Thread-3 is running
Thread-4 is running
```
可以看到,线程池会自动分配任务给可用的线程,最多同时执行 3 个任务。
阅读全文