创建线程池的七个参数
时间: 2023-11-29 08:45:17 浏览: 39
以下是创建线程池的七个参数:
1. corePoolSize:核心线程数,线程池正常情况下保持的线程数,大户人家“长工”的数量。
2. maximumPoolSize:最大线程数,当线程池繁忙时最多可以拥有的线程数,大户人家“长工”+“短工”的总数量。
3. keepAliveTime:空闲线程存活时间,没有活之后“短工”可以生存的最大时间。
4. TimeUnit:时间单位,配合参数 3 一起使用,用于描述参数 3 的时间单位。
5. BlockingQueue:线程池的任务队列,用于保存线程池待执行任务的容器。
6. ThreadFactory:线程工厂,用于创建线程池中线程的工厂方法,通过它可以设置线程的命名规则、优先级和线程类型。
7. RejectedExecutionHandler:拒绝策略,当任务量超过线程池可以保存的最大任务数时,执行的策略。
相关问题
创建线程池的7个核心参数
1. 核心线程数:线程池中最初创建的线程数,即使线程处于空闲状态也不会被回收。
2. 最大线程数:线程池中最多能创建的线程数。
3. 空闲线程存活时间:当线程数超过核心线程数时,空闲线程在被回收前等待的时间。
4. 任务队列:用于存放尚未执行的任务,通常使用阻塞队列实现。
5. 线程工厂:用于创建新线程的工厂类,可以自定义线程的名称、优先级等属性。
6. 拒绝策略:当任务队列已满并且当前线程数已达到最大线程数时,新任务的处理方式,通常有抛出异常、直接丢弃、阻塞等方式。
7. 线程池状态:线程池的状态,通常有RUNNING、SHUTDOWN、STOP、TERMINATED等状态。
说一下线程池七个参数的含义
以下是线程池七个参数的含义:
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)
```
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)