当前位置:网站首页>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
边栏推荐
- RecyclerView高级使用(二)-垂直拖拽排序的简单实现
- Some good articles on pthread multithreading
- VMware 15pro mounts the hard disk of the real computer in the deepin system
- About the configuration and use of json5 in nodejs
- Operation instructions of star boundary automatic text translator (advanced version)
- 贷款市场报价利率(LPR)与贷款基准利率介绍
- mysql 5.1升级到5.67
- 01-NIO基础之ByteBuffer和FileChannel
- postman批量生产body信息(实现批量修改数据)
- json date时间日期格式化
猜你喜欢
随机推荐
JDBC详解
微信小程序客服接入,实现发送和接收消息
报表FCRA考试题集及答案(错了11题)
Storage path of mod subscribed by starbound Creative Workshop at Star boundary
Some good articles on pthread multithreading
mysql 5.1升级到5.67
不同时间类型的执行计划计算
金融行业云迁移实践 平安金融云整合HyperMotion云迁移解决方案,为金融行业客户提供迁移服务
倒计时1天~2022云容灾产品线上发布会即将开始
mysql 5.1升级到5.611
json date时间日期格式化
MySQL数据库讲解(九)
容灾有疑问?点这里
帆软报表设置单元格填报以及根据值的大小进行排名方法
mysql查询库大小
回顾2021:如何帮助客户扫清上云最后一公里的障碍?
Visio画拓扑图随记
ActiveMQ Basics
困扰多年的系统调研问题有自动化采集工具了,还是开源免费的
MySQL数据库讲解(十)









