ThreadPoolExecutor 都有哪些核心参数
时间: 2023-11-02 09:29:54 浏览: 43
ThreadPoolExecutor 的核心参数包括:
1. corePoolSize:线程池中的核心线程数,即线程池中保持活动状态的最小线程数。
2. maximumPoolSize:线程池中允许的最大线程数。
3. keepAliveTime:线程池中空闲线程的存活时间,超过这个时间就会被回收。
4. unit:keepAliveTime 的时间单位。
5. workQueue:线程池中的任务队列,用于存储等待执行的任务。
6. threadFactory:用于创建新线程的工厂。
7. handler:当线程池中的线程数达到最大值并且任务队列已满时,用于处理被拒绝的任务的策略。
相关问题
ThreadPoolExecutor线程池有哪些参数?
ThreadPoolExecutor线程池有以下参数:
1. corePoolSize:核心线程数,即线程池中始终保持的线程数,即使它们处于空闲状态也不会被回收。
2. maximumPoolSize:最大线程数,即线程池中允许存在的最大线程数,包括空闲线程和阻塞队列中等待的线程。
3. keepAliveTime:线程空闲时间,即当线程池中的线程数量大于核心线程数时,空闲线程的存活时间。
4. TimeUnit:时间单位,用于指定keepAliveTime参数的时间单位。
5. workQueue:工作队列,用于存放等待执行的任务,可以选择不同类型的队列,如ArrayBlockingQueue、LinkedBlockingQueue、SynchronousQueue等。
6. ThreadFactory:线程工厂,用于创建线程,默认情况下使用Executors.defaultThreadFactory()方法创建线程。
7. RejectedExecutionHandler:拒绝策略,用于处理无法执行的任务,默认情况下使用AbortPolicy策略,即抛出RejectedExecutionException异常。其他策略还包括DiscardPolicy、DiscardOldestPolicy和CallerRunsPolicy。
ThreadPoolExecutor有哪些配置参数?
ThreadPoolExecutor是Java并发工具包中的一个重要类,用于执行可重用线程池任务。它有多个可配置的参数,这些参数可以帮助你定制线程池的行为。以下是几个主要的配置参数:
1. **核心线程数(corePoolSize)**:线程池在开始时就创建的核心线程数量。即使没有任务需要执行,这些线程也会一直存在。
2. **最大线程数(maximumPoolSize)**:线程池能够创建的最大线程数。超过这个限制时,除非任务队列为空,否则新任务将被拒绝。
3. **任务队列(workQueue)**:存储待执行任务的容器。常用的有`LinkedBlockingQueue`(默认)和`ArrayBlockingQueue`。你可以自定义这个队列,如使用优先级队列。
4. **线程工厂(threadFactory)**:用于创建新线程的工厂,可以用来设置线程的名字或属性。
5. **拒绝策略(rejectionHandler)**:当工作队列已满且无法接受新任务时,处理策略。默认是AbortPolicy,会直接抛出异常;也可以设置为CallerRunsPolicy,让调用者处理。
6. **保持活动时间(keepAliveTime)**:当线程池达到最大线程数,并且所有核心线程都在执行任务时,多余线程等待新任务的时间。
7. **隔离策略(handler)**:当线程池因拒绝策略而拒绝新任务时,如何处理当前的任务。如`DiscardOldestPolicy`,丢弃队列中最老的任务。
8. **定时器(timer)**:用于执行定时任务,可选参数。
了解这些参数后,你可以根据你的应用需求调整线程池的行为,以达到最佳性能和资源利用。如果你有更具体的问题,比如如何选择合适的参数值,可以继续提问。
相关推荐
![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)