【面试必备】简单了解下ExecutorService

栏目: Java · 发布时间: 7年前

内容简介:在Java 5之后,ExecutorService类被引入,主要是为了方便线程的统一管理。ExecutorService其实是一个线程池,它可以接收任务,然后根据配置来分配线程,并控制其调度。这个线程和newCacheThreadPool很类似,不同点在于:

在 Java 5之后,ExecutorService类被引入,主要是为了方便线程的统一管理。

ExecutorService的作用

ExecutorService其实是一个线程池,它可以接收任务,然后根据配置来分配线程,并控制其调度。

分类

newCacheThreadPool

  • 这种线程池是无界线程池,即它可以创建任意条线程。
  • 每次创建新线程时,先检查自己的缓存池中有没有,没有才会创建。
  • 它有默认的TimeOut(=60s),超过这个时长没活动的线程就会被自动的移除,所以完全不必要担心线程的结束问题。
  • 这是比较推荐的类型。

newFixedThreadPool

这个线程和newCacheThreadPool很类似,不同点在于:

  • 它有线程数量上限。
  • 它没有默认的TimeOut。

ScheduledThreadPool

  • 它可以按照顺序延迟调度线程。

SingleThreadPool

  • 它只有一条线程。
  • 感觉并没有多大用处。

ThreadPoolExecutor

这种类型的线程池可以自己配置相关参数。

参数 说明
corePoolSize 池中所保存的线程数,包括空闲线程。
maximumPoolSize 池中允许的最大线程数。’
keepAliveTime 当线程数大于核心时,此为终止多余的空闲等待新任务的线程的最长时间。
workQueue 执行前用于保持任务的队列。此队列仅保持由 execute 方法提交的 Runnable 任务。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。

Linux/Unix设计思想

Linux/Unix设计思想

甘卡兹 / 漆犇 / 人民邮电出版社 / 2012-3-28 / 39.00元

《Linux\Unix设计思想/图灵程序设计丛书》内容简介:将Linux的开发方式与Unix的原理有效地结合起来,总结出Linux与Unix软件开发中的设计原则。《Linux\Unix设计思想/图灵程序设计丛书》前8章分别介绍了Linux与Unix中9条基本的哲学准则和10条次要准则。第9章和第10章将Unix系统的设计思想与其他系统的设计思想进行了对比。最后介绍了Unix哲学准则在其他领域中的应......一起来看看 《Linux/Unix设计思想》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

SHA 加密
SHA 加密

SHA 加密工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具