Java多线程专题之线程池的基本使用

前言

目前正在出一个Java多线程专题长期系列教程,从入门到进阶含源码解读, 篇幅会较多, 喜欢的话,给个关注❤️ ~

本节主要带大家认识一下线程池以及它的基本使用,一起来看下吧~

为什么要使用线程池

使用线程池主要有以下三个原因:

  1. 创建/销毁线程需要消耗系统资源,线程池可以「复用已创建的线程」
  2. 「控制并发的数量」,并发数量过多,可能会导致资源消耗过多,从而造成服务器崩溃。
  3. 「可以对线程做统一管理」

使用线程池的基本方式

下面给大家介绍常用的几种方式,废话不多说直接看代码

newCachedThreadPool

创建一个线程池,根据需要创建新线程,但在可用时将重用以前构造的线程。这些池通常会提高执行许多短期异步任务的程序的性能。如果可用,对execute的调用将重用以前构造的线程。如果没有可用的现有线程,将创建一个新线程并将其添加到池中。六十秒内未使用的线程将被终止并从缓存中删除。因此,保持空闲足够长时间的池不会消耗任何资源。

public class SingleThreadPool {
    public static void main(String[] args) throws Exception {
        ExecutorService executor = Executors.newSingleThreadExecutor();

        IntStream.range(050).forEach(i -> {
            executor.execute(() -> {
                System.out.println(i);
            });
        });

    }
}

结束语

本节主要给大家介绍了线程池的四种基本使用方式,下一节,难度加深, 从源码角度来带大家了解一下线程池的工作原理 ~

本篇文章来源于微信公众号: 程序员皮卡秋



微信扫描下方的二维码阅读本文

此作者没有提供个人介绍
最后更新于 2023-05-28