标签:single cte des 定义 class 创建 入队 意义 ade
java有预置线程池:newSingleThreadExecutor,newFixedThreadPool,newCacheedThreadPool,newScheduledThreadPool,newWorkStealingPool。如果不适合,还可以使用ThreadPoolExecutor创建自定义线程池。主要构造方法:
1 public ThreadPoolExecutor(int corePoolSize, 2 int maximumPoolSize, 3 long keepAliveTime, 4 TimeUnit unit, 5 BlockingQueue<Runnable> workQueue) 6 7 public ThreadPoolExecutor(int corePoolSize, 8 int maximumPoolSize, 9 long keepAliveTime, 10 TimeUnit unit, 11 BlockingQueue<Runnable> workQueue, 12 ThreadFactory threadFactory, 13 RejectedExecutionHandler handler)
我们接下来介绍参数,其中线程池大小与前四个参数有关。
最佳自定义创建线程池,队列有界,maximumPoolSize有限,使用任务拒绝策略。如果队列无界,服务不了的任务总是会排队,消耗内存,甚至引发内存不足异常。如果队列有界但maximumPoolSize无线,可能会创建过多线程,占内存和CPU。
标签:single cte des 定义 class 创建 入队 意义 ade
原文地址:https://www.cnblogs.com/ivy-xu/p/12607811.html