文章预览
作者 | 捡田螺的小男孩 来源 | 捡田螺的小男孩 大家好,我是田螺。 我们来看一道京东一面面试题:Java 提供哪几种线程池,什么场景使用? newFixedThreadPool newCachedThreadPool newSingleThreadExecutor newScheduledThreadPool 1. newFixedThreadPool newFixedThreadPool的构造函数: public static ExecutorService newFixedThreadPool(int nThreads) { return new ThreadPoolExecutor(nThreads, nThreads, 0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue ()); } 1.1 线程池特点: 核心线程数和最大线程数大小一样 没有所谓的非空闲时间,即keepAliveTime为0 阻塞队列为 无界队列 LinkedBlockingQueue 1.2 newFixedThreadPool工作机制 提交任务 如果线程数少于核心线程,创建核心线程执行任务 如果线程
………………………………