当前位置:网站首页>Use the executors class to quickly create a thread pool
Use the executors class to quickly create a thread pool
2022-04-23 14:14:00 【pureluckyfish】
Executors Class Executor、ExecutorService、ScheduledExecutorService、ThreadFactory and Callable Class factory methods and utility methods . This class supports the following methods :
One 、 Introduction to methods in this class
1. Static methods for creating various thread pools , The return value is ExecutorService
| Method | describe |
| newCachedThreadPool() | Create a cache thread pool , Threads in the thread pool will survive 60s |
| newCachedThreadPool(ThreadFactory threadFactory) | Use the specified factory class , Create a cache thread pool , Threads in the thread pool will survive 60s |
| newFixedThreadPool(int nThreads) | Create a thread pool with a fixed number of threads |
| newFixedThreadPool(int nThreads, ThreadFactory threadFactory) | Use the specified factory class , Create a thread pool with a fixed number of threads |
| newSingleThreadExecutor() | Create a thread pool of threads |
| newSingleThreadExecutor(ThreadFactory threadFactory) | Use the specified factory class , Create a thread pool of threads |
2. Static methods for creating various thread pools , The return value is ScheduledExecutorService
| Method | describe |
| newScheduledThreadPool(int corePoolSize) | Create a thread pool , The thread pool can schedule commands to run after a given delay or execute periodically |
| newScheduledThreadPool(int corePoolSize, ThreadFactory threadFactory) | Use the specified factory class , Create a thread pool , The thread pool can schedule commands to run after a given delay or execute periodically |
| newSingleThreadScheduledExecutor() | Create a single threaded executor , The actuator can schedule commands to run after a given delay or execute them regularly |
| newSingleThreadScheduledExecutor(ThreadFactory threadFactory) | Use the specified factory class , Create a single threaded executor , The actuator can schedule commands to run after a given delay or execute them regularly |
3. Create and return one ThreadFactory, The ThreadFactory Set the newly created thread to a known state
| Return value | Method | describe |
| static ThreadFactory | defaultThreadFactory() | Return a default thread factory class to create a new thread |
| static ThreadFactory | privilegedThreadFactory() | Returns a thread factory , This thread factory is used to create a new thread with the same permissions as the current thread ,privilegedThreadFactory Class inherited defaultThreadFactory class |
4. Create and return a from other closure like forms Callable Methods , Therefore, they can be used to need Callable How to execute
| Return value | Method | describe |
| static Callable<Object> | callable(PrivilegedAction<?> action) | Return to one Callable object , The object runs the given privileged operation and returns its result when called |
| static Callable<Object> | callable(PrivilegedExceptionAction<?> action) | Return to one Callable object , The object runs the given privileged exception operation and returns its result when called |
| static Callable<Object> | Return to one Callable object , This object runs the given task when called and returns null | |
| static <T> Callable<T> | callable(Runnable task, T result) | Return to one Callable object , This object runs the given task and returns the given result when called |
Two 、 Not recommended Executors Why
Thread pools are not allowed Executors To create , But through ThreadPoolExecutor The way , This way of processing makes the students who write more clear about the running rules of the thread pool , Avoid the risk of resource exhaustion .Executors The disadvantages of each method :
1. newSingleThreadExecutor and newFixedThreadPool: The main problem is that the docked request processing queue may consume a lot of memory , even to the extent that OOM
2.newCachedThreadPool and newScheduledThreadPool: The main problem is that the maximum number of threads is Integer.MAX_VALUE, A very large number of threads may be created , Set up OOM
3、 ... and 、Executor Interface
Only one in the interface execute Method , This interface is the ancestor of all thread pools
版权声明
本文为[pureluckyfish]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/04/202204231406486515.html
边栏推荐
猜你喜欢
随机推荐
ActiveMQ Basics
PySide2
win10自带Groove音乐不能播放CUE和APE文件的一种曲线救国办法,自己创建aimppack插件包,AIMP安装DSP插件
Detailed tutorial on the use of smoke sensor (mq-2) (based on raspberry pie 3B +)
Get the thread return value. Introduction to the use of future interface and futuretask class
Request module
elk安装
MYSQL一种分表实现方案及InnoDB、MyISAM、MRG_MYISAM等各种引擎应用场景介绍
dp-[NOIP2000]方格取数
剑指offer刷题(1)--面向华为
倒计时1天~2022云容灾产品线上发布会即将开始
Redis数据库讲解(一)
帆软报表设置单元格填报以及根据值的大小进行排名方法
报表FCRA考试题集及答案(错了11题)
VMware 15pro mounts the hard disk of the real computer in the deepin system
Jmeter设置环境变量支持在任意终端目录输入jmeter直接启动
星界边境文本自动翻译机(高级版)使用说明
JDBC details
HyperMotion云迁移完成阿里云专有云产品生态集成认证
线程组ThreadGroup使用介绍+自定义线程工厂类实现ThreadFactory接口










