专业网站设计招聘信息,一个网站需要几个人,视频网页制作教程,如果做公司网站JDK 中提供了 5 中不同线程池的创建方式#xff1a; newCachedThreadPool newCachedThreadPool#xff0c; 是一种可以缓存的线程池#xff0c;它可以用来处理大量短期的突发流量。 它的特点有三个#xff0c;最大线程数是 Integer.MaxValue#xff0c;线程存活时间是 60 … JDK 中提供了 5 中不同线程池的创建方式 newCachedThreadPool newCachedThreadPool 是一种可以缓存的线程池它可以用来处理大量短期的突发流量。 它的特点有三个最大线程数是 Integer.MaxValue线程存活时间是 60 秒 阻塞队列用的是 SynchronousQueue这是一种不存才任何元素的阻塞队列也就是每提交一个任务给到线程池都会分配一个工作线程来处理由于最大线程数没有限制。所以它可以处理大量的任务另外每个工作线程又可以存活 60s使得这些工作线程可以缓存起来应对更多任务的处理。 newFixedThreadPool newFixedThreadPool是一种固定线程数量的线程池。它的特点是核心线程和最大线程数量都是一个固定的值如果任务比较多工作线程处理不过来就会加入到阻塞队列里面等待。 newSingleThreadExecutor newSingleThreadExecutor只有一个工作线程的线程池。并且线程数量无法动态更改因此可以保证所有的任务都按照 FIFO 的方式顺序执行。 newScheduledThreadPool newScheduledThreadPool具有延迟执行功能的线程池可以用它来实现定时调度。 newWorkStealingPool newWorkStealingPoolJava8 里面新加入的一个线程池它内部会构建一个 ForkJoinPool利用工作窃取的算法并行处理请求。 总结 这些线程都是通过工具类 Executors 来构建的线程池的最终实现类是 ThreadPoolExecutor。