当前位置: 首页 > 面试题库 >

请回答一下Java中有几种线程池?并且详细描述一下线程池的实现过程

况博容
2023-03-14
本文向大家介绍请回答一下Java中有几种线程池?并且详细描述一下线程池的实现过程相关面试题,主要包含被问及请回答一下Java中有几种线程池?并且详细描述一下线程池的实现过程时的应答技巧和注意事项,需要的朋友参考一下

考察点:线程池

1、newFixedThreadPool创建一个指定工作线程数量的线程池。每当提交一个任务就创建一个工作线程,如果工作线程数量达到线程池初始的最大数,则将提交的任务存入到池队列中。 2、newCachedThreadPool创建一个可缓存的线程池。这种类型的线程池特点是: 1).工作线程的创建数量几乎没有限制(其实也有限制的,数目为Interger. MAX_VALUE), 这样可灵活的往线程池中添加线程。 2).如果长时间没有往线程池中提交任务,即如果工作线程空闲了指定的时间(默认为1分钟),则该工作线程将自动终止。终止后,如果你又提交了新的任务,则线程池重新创建一个工作线程。 3、newSingleThreadExecutor创建一个单线程化的Executor,即只创建唯一的工作者线程来执行任务,如果这个线程异常结束,会有另一个取代它,保证顺序执行(我觉得这点是它的特色)。单工作线程最大的特点是可保证顺序地执行各个任务,并且在任意给定的时间不会有多个线程是活动的 。 4、newScheduleThreadPool创建一个定长的线程池,而且支持定时的以及周期性的任务执行,类似于Timer。(这种线程池原理暂还没完全了解透彻)

 

 类似资料:
  • 本文向大家介绍请详细描述一下线程从创建到死亡的几种状态都有哪些?相关面试题,主要包含被问及请详细描述一下线程从创建到死亡的几种状态都有哪些?时的应答技巧和注意事项,需要的朋友参考一下 考察点:JAVA线程状态1. 新建( new ):新创建了一个线程对象。 2. 可运行( runnable ):线程对象创建后,其他线程(比如 main 线程)调用了该对象 的 start ()方法。该状态的线程位于

  • 本文向大家介绍请列举一下启动线程有哪几种方式,之后再说明一下线程池的种类都有哪些?相关面试题,主要包含被问及请列举一下启动线程有哪几种方式,之后再说明一下线程池的种类都有哪些?时的应答技巧和注意事项,需要的朋友参考一下 考察点:线程池 ①启动线程有如下三种方式: 一、继承Thread类创建线程类 (1)定义Thread类的子类,并重写该类的run方法,该run方法的方法体就代表了线程要完成的任务。

  • 本文向大家介绍详细描述一下Elasticsearch搜索的过程?相关面试题,主要包含被问及详细描述一下Elasticsearch搜索的过程?时的应答技巧和注意事项,需要的朋友参考一下 面试官:想了解ES搜索的底层原理,不再只关注业务层面了。 解答: 搜索拆解为“query then fetch” 两个阶段。 query阶段的目的:定位到位置,但不取。 步骤拆解如下: 1)假设一个索引数据有5主+1

  • 本文向大家介绍详细描述一下 Elasticsearch 搜索的过程?相关面试题,主要包含被问及详细描述一下 Elasticsearch 搜索的过程?时的应答技巧和注意事项,需要的朋友参考一下 1、搜索被执行成一个两阶段过程,我们称之为 Query Then Fetch; 2、在初始查询阶段时,查询会广播到索引中每一个分片拷贝(主分片或者副本分片)。 每个分片在本地执行搜索并构建一个匹配文档的大小为

  • 本文向大家介绍Java线程池的几种实现方法及常见问题解答,包括了Java线程池的几种实现方法及常见问题解答的使用技巧和注意事项,需要的朋友参考一下 工作中,经常会涉及到线程。比如有些任务,经常会交与线程去异步执行。抑或服务端程序为每个请求单独建立一个线程处理任务。线程之外的,比如我们用的数据库连接。这些创建销毁或者打开关闭的操作,非常影响系统性能。所以,“池”的用处就凸显出来了。 1. 为什么要使

  • 本文向大家介绍请说明一下线程池有什么优势?相关面试题,主要包含被问及请说明一下线程池有什么优势?时的应答技巧和注意事项,需要的朋友参考一下 考察点:线程池 第一:降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。 第二:提高响应速度。当任务到达时,任务可以不需要等到线程创建就能执行。 第三:提高线程的可管理性,线程是稀缺资源,如果无限制地创建,不仅会消耗系统资源,还会降低系统的稳