Executors 创建线程池的⽅法

newFixedThreadPool:固定线程数的线程池。corePoolSize = maximumPoolSize,keepAliveTime为0,⼯作队列使⽤⽆界的LinkedBlockingQueue。适⽤于为了满⾜资源管理的需 求,⽽需要限制当前线程数量的场景,适⽤于负载⽐较重的服务器。

newSingleThreadExecutor:只有⼀个线程的线程池。corePoolSize = maximumPoolSize = 1, keepAliveTime为0, ⼯作队列使⽤⽆界的LinkedBlockingQueue。适⽤于需要保证顺序的执⾏各个 任务的场景。

newCachedThreadPool: 按需要创建新线程的线程池。核⼼线程数为0,最⼤线程数为 Integer.MAX_VALUE,keepAliveTime为60秒,⼯作队列使⽤同步移交 SynchronousQueue。该线 程池可以⽆限扩展,当需求增加时,可以添加新的线程,⽽当需求降低时会⾃动回收空闲线程。适⽤ 于执⾏很多的短期异步任务,或者是负载较轻的服务器。

newWorkStealingPool:JDK 1.8 新增,⽤于创建⼀个可以窃取的线程池,底层使⽤ ForkJoinPool实现。

你可能感兴趣的:(java,开发语言)