Java多线程专题之线程池的基本使用
前言
目前正在出一个Java多线程专题长期系列教程,从入门到进阶含源码解读, 篇幅会较多, 喜欢的话,给个关注❤️ ~
本节主要带大家认识一下线程池以及它的基本使用,一起来看下吧~
为什么要使用线程池
使用线程池主要有以下三个原因:
-
创建/销毁线程需要消耗系统资源,线程池可以「复用已创建的线程」。 -
「控制并发的数量」,并发数量过多,可能会导致资源消耗过多,从而造成服务器崩溃。 -
「可以对线程做统一管理」。
使用线程池的基本方式
下面给大家介绍常用的几种方式,废话不多说直接看代码
newCachedThreadPool
创建一个线程池,根据需要创建新线程,但在可用时将重用以前构造的线程。这些池通常会提高执行许多短期异步任务的程序的性能。如果可用,对execute的调用将重用以前构造的线程。如果没有可用的现有线程,将创建一个新线程并将其添加到池中。六十秒内未使用的线程将被终止并从缓存中删除。因此,保持空闲足够长时间的池不会消耗任何资源。
public class SingleThreadPool {
public static void main(String[] args) throws Exception {
ExecutorService executor = Executors.newSingleThreadExecutor();
IntStream.range(0, 50).forEach(i -> {
executor.execute(() -> {
System.out.println(i);
});
});
}
}
结束语
本节主要给大家介绍了线程池的四种基本使用方式,下一节,难度加深, 从源码角度来带大家了解一下线程池的工作原理 ~
本篇文章来源于微信公众号: 程序员皮卡秋
微信扫描下方的二维码阅读本文

Comments NOTHING