ThreadPoolExecutor有哪些方法
时间: 2023-05-27 15:04:54 浏览: 92
ThreadPoolExecutor线程池的使用方法
5星 · 资源好评率100%
ThreadPoolExecutor类的常用方法有:
1. 构造函数:ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue<Runnable> workQueue),用于创建线程池。
2. execute(Runnable command):用于提交一个任务给线程池执行。
3. shutdown():用于关闭线程池,不再接受新任务,等待所有任务执行完毕后关闭线程池。
4. shutdownNow():用于关闭线程池,不再接受新任务,立即中断所有正在执行的任务。
5. awaitTermination(long timeout, TimeUnit unit):等待线程池中所有任务执行完毕,在规定的时间内等待任务完成。
6. isShutdown():判断线程池是否已经关闭。
7. isTerminated():判断线程池是否已经终止。
8. getActiveCount():获取当前线程池中正在执行任务的线程数量。
9. getCompletedTaskCount():获取线程池中已经完成执行的任务数量。
10. getCorePoolSize():获取线程池的核心线程数。
11. getLargestPoolSize():获取线程池曾经达到的最大线程数。
12. getMaximumPoolSize():获取线程池最大线程数。
13. getPoolSize():获取线程池当前的线程数。
14. getQueue():获取线程池中的任务队列。
15. prestartAllCoreThreads():预创建所有核心线程。
16. prestartCoreThread():预创建一个核心线程。
17. setCorePoolSize(int corePoolSize):设置线程池的核心线程数。
18. setMaximumPoolSize(int maximumPoolSize):设置线程池的最大线程数。
19. allowCoreThreadTimeOut(boolean value):设置核心线程是否可以超时退出。
20. setKeepAliveTime(long time, TimeUnit unit):设置线程池中超过核心线程数的线程的空闲等待时间。
21. rejectedExecutionHandler(RejectedExecutionHandler handler):设置拒绝策略。当线程池已经达到最大线程数,且任务队列已满时,新任务将被拒绝。
22. threadFactory(ThreadFactory threadFactory):设置线程工厂,用于创建线程。
23. getTaskCount():获取线程池中已经提交的任务数量。
24. purge():从任务队列中移除已经取消的任务。
阅读全文