说一下线程池七个参数的含义
时间: 2023-12-17 12:03:51 浏览: 79
以下是线程池七个参数的含义:
1. corePoolSize:线程池中的核心线程数,即线程池中保持的线程数,即使它们处于空闲状态也是如此。
2. maximumPoolSize:线程池中允许的最大线程数。
3. keepAliveTime:当线程池中的线程数大于核心线程数时,这是多余的空闲线程在终止之前等待新任务的最长时间。
4. unit:keepAliveTime参数的时间单位。
5. workQueue:用于在执行任务之前保存任务的队列。此队列将仅保存由execute方法提交的Runnable任务。
6. threadFactory:用于创建新线程的工厂。
7. handler:当线程池已满并且工作队列已满时,用于处理提交的新任务的处理程序。
以下是一个示例,演示如何使用ThreadPoolExecutor构造函数创建线程池:
```python
from concurrent.futures import ThreadPoolExecutor
import time
def task(n):
print(f"Processing {n}")
time.sleep(1)
print(f"Task {n} completed")
if __name__ == '__main__':
# 创建一个线程池,其中corePoolSize为2,maximumPoolSize为4,keepAliveTime为60秒
with ThreadPoolExecutor(max_workers=4, thread_name_prefix='my_thread') as executor:
# 提交10个任务
for i in range(10):
executor.submit(task, i)
```
阅读全文