文档章节

关于 Executors 类

wappleat
 wappleat
发布于 2017/09/01 14:33
字数 417
阅读 1
收藏 0

Executors 类
    该类是一个辅助类,用以创建此包中所定义的 Executor、ExecutorService、ScheduledExecutorService、ThreadFactory 和 Callable 类的工厂和实用方法。

此类支持以下各种方法:

  • 创建设置有常用配置字符串的 ExecutorService 的方法。
  • 创建设置有常用配置字符串的 ScheduledExecutorService 的方法。
  • 创建“包装的”ExecutorService 方法,它通过使特定于实现的方法不可访问来禁用重新配置。
  • 创建 ThreadFactory 的方法,它可将新创建的线程设置为已知的状态。
  • 创建非闭包形式的 Callable 的方法,这样可将其用于需要 Callable 的执行方法中。

Executors 提供了以下一些 static 的方法:

  • callable(Runnable task) : 将 Runnable 的任务转化成 Callable 的任务
  • newSingleThreadExecutor : 产生一个 ExecutorService 对象,这个对象只有一个线程可用来执行任务,若任务多于一个,任务将按先后顺序执行。
  • newCachedThreadPool() : 产生一个 ExecutorService 对象,这个对象带有一个线程池,线程池的大小会根据需要调整,线程执行完任务后返回线程池,供执行下一次任务使用。
  • newFixedThreadPool(int poolSize) : 产生一个 ExecutorService 对象,这个对象带有一个大小为 poolSize 的线程池,若任务数量大于 poolSize ,任务会被放在一个 queue 里顺序执行。
  • newSingleThreadScheduledExecutor : 产生一个 ScheduledExecutorService 对象,这个对象的线程池大小为 1 ,若任务多于一个,任务将按先后顺序执行。
  • newScheduledThreadPool(int poolSize) :  产生一个 ScheduledExecutorService 对象,这个对象的线程池大小为 poolSize ,若任务数量大于 poolSize ,任务会在一个 queue 里等待执行。

© 著作权归作者所有

wappleat
粉丝 2
博文 6
码字总数 1424
作品 0
徐汇
私信 提问
Java中线程池,你真的会用吗?

在《深入源码分析Java线程池的实现原理》这篇文章中,我们介绍过了Java中线程池的常见用法以及基本原理。 在文中有这样一段描述: 可以通过Executors静态工厂构建线程池,但一般不建议这样使...

HollisChuang's Blog
2018/10/27
0
0
Executor框架结构与主要成员(一)

本文分两部分来介绍Executor:Executor的结构和Executor框架包含的成员组件 1、Executor框架的结构 Executor主要由3大部分组成。 1.1、任务。包含被执行任务需要实现的接口:Runnable接口或C...

Dreyer
2016/05/07
180
0
Java中线程池,你真的了解会用吗

在《 深入源码分析Java线程池的实现原理 》这篇文章中,我们介绍过了Java中线程池的常见用法以及基本原理。 在文中有这样一段描述: 可以通过Executors静态工厂构建线程池,但一般不建议这样...

小刀爱编程
2018/10/31
86
0
工作总结-002

异常捕获 service捕获业务异常,自定义BaseException; interface捕获业务异常,以及其他异常,用Exception“兜底”。 参数校验 不要觉得别人的代码多可靠,该有的校验要有;“不该有的校验”...

阿历Ali
2017/12/15
0
0
java多线程系列:Executors框架

目录 Executor接口介绍 ExecutorService常用接口介绍 创建线程池的一些方法介绍 3.1 newFixedThreadPool方法 3.2 newCachedThreadPool方法 3.3 newScheduledThreadPool方法 疑问解答 4.1. R...

勿妄
2018/06/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Mybatis Plus性能分析

一、配置 /** * 性能分析 * @return */@Bean@Profile({"dev","test"})public PerformanceInterceptor performanceInterceptor (){ PerformanceInterceptor performanceInterceptor......

一个yuanbeth
12分钟前
2
0
一次写shell脚本的经历记录——特殊字符惹的祸

本文首发于微信公众号“我的小碗汤”,扫码文末二维码即可关注,欢迎一起交流! redis在容器化的过程中,涉及到纵向扩pod实例cpu、内存以及redis实例的maxmemory值,statefulset管理的pod需要...

码农实战
15分钟前
2
0
为什么阿里巴巴Java开发手册中不建议在循环体中使用+进行字符串拼接?

之前在阅读《阿里巴巴Java开发手册》时,发现有一条是关于循环体中字符串拼接的建议,具体内容如下: 那么我们首先来用例子来看看在循环体中用 + 或者用 StringBuilder 进行字符串拼接的效率...

武培轩
27分钟前
5
0
队列-链式(c/c++实现)

队列是在线性表功能稍作修改形成的,在生活中排队是不能插队的吧,先排队先得到对待,慢来得排在最后面,这样来就形成了”先进先出“的队列。作用就是通过伟大的程序员来实现算法解决现实生活...

白客C
35分钟前
26
0
聊聊nacos的notifyConfigInfo

序 本文主要研究一下nacos的notifyConfigInfo CommunicationController nacos-1.1.3/config/src/main/java/com/alibaba/nacos/config/server/controller/CommunicationController.java @Cont......

go4it
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部