new ThreadPoolExecutor()里面的参数
时间: 2023-11-21 08:58:45 浏览: 30
`ThreadPoolExecutor` 是一个线程池的实现类,它的构造函数有多个参数,分别是:
1. `corePoolSize`:线程池中的核心线程数,即在没有任务需要执行时线程池的大小。
2. `maximumPoolSize`:线程池中允许的最大线程数。
3. `keepAliveTime`:当线程池中的线程数量大于 `corePoolSize` 时,多余的空闲线程的存活时间。
4. `unit`:`keepAliveTime` 参数的时间单位。
5. `workQueue`:任务队列,被提交但尚未被执行的任务。
6. `threadFactory`:线程工厂,用于创建新线程。
7. `handler`:拒绝策略,当任务太多来不及处理时,如何拒绝任务。
例如,下面的代码创建了一个核心线程数为 5,最大线程数为 10,空闲线程存活时间为 60 秒,任务队列为 `LinkedBlockingQueue`,线程工厂为默认的 `DefaultThreadFactory`,拒绝策略为默认的 `AbortPolicy` 的线程池:
```python
from concurrent.futures import ThreadPoolExecutor
import time
def task(n):
print(f"Processing {n}")
time.sleep(1)
executor = ThreadPoolExecutor(max_workers=10, thread_name_prefix="worker")
for i in range(20):
executor.submit(task, i)
```