面试官:说一下线程池的参数,核心线程非核心线程使用方法,拒绝策略

简介: 面试官:说一下线程池的参数,核心线程非核心线程使用方法,拒绝策略

线程池的参数:

1. corePoolSize:核心线程数

2. maximumPoolSize:最大线程数

3.workQueue:阻塞队列

4.ThreadFactory:线程工厂

5.keepAliveTime:非核心线程存活时间

6.TimeUnit:时间单元

7.RejectedExecutionHandler:拒绝策略

 

核心线程非核心线程使用方法

当有一个任务需要线程的时候,如果线程池中有空闲线程就去执行任务,如果没有空闲的线程,检查已经创建的线程数是不是小于指定的核心线程数,如果小于就创建一个线程去执行指定的任务,如果大于检查阻塞队列是不是满了,如果没有满任务放入队列,如果满了,检查所有的线程数是否小于之前指定的最大的线程数,如果小于就创建一个线程去执行当前任务,如果已经创建的线程数大于等于最大线程数并且阻塞队列也满了,就去执行拒绝策略处理当前任务。

 

拒绝策略

一共包含四种拒绝策略。

1. 抛弃任务并且不抛出异常

2. 抛弃任务然后抛出异常

3. 删除阻塞队列中等待时间最长并把当前任务加入队列

4. 交给调用者去处理,就是谁把这个任务发送给线程池处理谁去处理那个任务。

相关文章
|
24天前
|
监控 安全 Java
在 Java 中使用线程池监控以及动态调整线程池时需要注意什么?
【10月更文挑战第22天】在进行线程池的监控和动态调整时,要综合考虑多方面的因素,谨慎操作,以确保线程池能够高效、稳定地运行,满足业务的需求。
102 38
|
22天前
|
Java
线程池内部机制:线程的保活与回收策略
【10月更文挑战第24天】 线程池是现代并发编程中管理线程资源的一种高效机制。它不仅能够复用线程,减少创建和销毁线程的开销,还能有效控制并发线程的数量,提高系统资源的利用率。本文将深入探讨线程池中线程的保活和回收机制,帮助你更好地理解和使用线程池。
47 2
|
24天前
|
Prometheus 监控 Cloud Native
JAVA线程池监控以及动态调整线程池
【10月更文挑战第22天】在 Java 中,线程池的监控和动态调整是非常重要的,它可以帮助我们更好地管理系统资源,提高应用的性能和稳定性。
63 4
|
24天前
|
Prometheus 监控 Cloud Native
在 Java 中,如何使用线程池监控以及动态调整线程池?
【10月更文挑战第22天】线程池的监控和动态调整是一项重要的任务,需要我们结合具体的应用场景和需求,选择合适的方法和策略,以确保线程池始终处于最优状态,提高系统的性能和稳定性。
96 2
|
1月前
|
Dubbo Java 应用服务中间件
剖析Tomcat线程池与JDK线程池的区别和联系!
剖析Tomcat线程池与JDK线程池的区别和联系!
109 0
剖析Tomcat线程池与JDK线程池的区别和联系!
|
1月前
|
JavaScript 前端开发 安全
轻松上手Web Worker:多线程解决方案的使用方法与实战指南
轻松上手Web Worker:多线程解决方案的使用方法与实战指南
41 0
|
1月前
|
存储 消息中间件 资源调度
C++ 多线程之初识多线程
这篇文章介绍了C++多线程的基本概念,包括进程和线程的定义、并发的实现方式,以及如何在C++中创建和管理线程,包括使用`std::thread`库、线程的join和detach方法,并通过示例代码展示了如何创建和使用多线程。
44 1
C++ 多线程之初识多线程
|
26天前
|
Java 开发者
在Java多线程编程中,创建线程的方法有两种:继承Thread类和实现Runnable接口
【10月更文挑战第20天】在Java多线程编程中,创建线程的方法有两种:继承Thread类和实现Runnable接口。本文揭示了这两种方式的微妙差异和潜在陷阱,帮助你更好地理解和选择适合项目需求的线程创建方式。
19 3
|
26天前
|
Java 开发者
在Java多线程编程中,选择合适的线程创建方法至关重要
【10月更文挑战第20天】在Java多线程编程中,选择合适的线程创建方法至关重要。本文通过案例分析,探讨了继承Thread类和实现Runnable接口两种方法的优缺点及适用场景,帮助开发者做出明智的选择。
16 2
|
26天前
|
Java
Java中多线程编程的基本概念和创建线程的两种主要方式:继承Thread类和实现Runnable接口
【10月更文挑战第20天】《JAVA多线程深度解析:线程的创建之路》介绍了Java中多线程编程的基本概念和创建线程的两种主要方式:继承Thread类和实现Runnable接口。文章详细讲解了每种方式的实现方法、优缺点及适用场景,帮助读者更好地理解和掌握多线程编程技术,为复杂任务的高效处理奠定基础。
28 2

相关实验场景

更多