Java 并发类库提供的线程池有哪几种? 分别有什么特点?【面试题详解】

今天爱分享给大家带来Java 并发类库提供的线程池有哪几种? 分别有什么特点?【面试题详解】,希望能够帮助到大家。

Executors 目前提供了 5 种不同的
线程池创建配置:
1)newCachedThreadPool():用来处理大量短时间工作任务的线程池。当无缓存线程可用时,就会创建新的工作线程;如果线程闲置的时间超过 60 秒,则被终止并移出缓存;其内部使用 SynchronousQueue 作为工作队列。
2)newFixedThreadPool(int nThreads),重用指定数目(nThreads)的线程,其背后使用的是无界的工作队列,任何时候最多有 nThreads 个工作线程是活动的。
3)newSingleThreadExecutor(),它的特点在于工作线程数目被限制为 1,操作一个无界的工作队列,所以它保证了所有任务的都是被顺序执行,最多会有一个任务处于活动状态
4)newSingleThreadScheduledExecutor() 和 newScheduledThreadPool(int corePoolSize),创建的是个 ScheduledExecutorService,可以进行定时或周期性的工作调度,区别在于单一工作线程还是多个工作线程。
5)newWorkStealingPool(int parallelism),Java 8 才加入这个创建方法,并行地处理任务,不保证处理顺序。
6)ThreadPoolExecutor():是最原始的线程池创建,上面1-3创建方式都是对ThreadPoolExecutor的封装。

人已赞赏
Java

线程池的工作原理 是什么 有什么作用 【面试题详解】

2020-11-6 15:51:09

Java

lock()和unlock()是怎么实现【面试题详解】

2020-11-6 15:57:47

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
'); })();