栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

多线程那点事(三)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

多线程那点事(三)

文章目录
    • 线程池
      • JDK中线程池的使用
        • ExecutorService接口的实现类
          • 提交线程
          • 终止线程
        • 线程池的创建
          • 4种线程池
          • 定时器线程池
        • ThreadPoolExecutor子类的核心类构造方法参数
        • 线程池的工作流程
        • 线程池构造方法参数
        • JDK内置的4种线程池
        • 线程池的使用建议

线程池


线程池最大的好处就是减少每次启动、销毁线程的损耗。

JDK中线程池的使用

描述线程池的核心类,最常用的一个子类–ThreadPoolExecutor
这个类的构造方法就是创建一个线程池的所有核心参数.

为了简化线程池的使用:

线程池的核心父接口`ExecutorService

ExecutorService接口的实现类

ThreadPoolExecutor类的实现方法

  • 执行任务:

接收一个Runnable对象并执行线程.

ExecutorService接口中方法

提交线程

终止线程

线程池的创建 4种线程池
public class ThreadPoolTest {
    public static void main(String[] args) {
        //固定大小线程池
        ExecutorService pool = Executors.newFixedThreadPool(10);
        //数量动态变化的缓存池
        ExecutorService pool1 = Executors.newCachedThreadPool();
        //只包含一个线程的单线程池
        ExecutorService pool2 = Executors.newSingleThreadExecutor();
        //定期线程池,可以设置任务的延时启动时间(Timer类的线程池的实现)
        ExecutorService pool3 = Executors.newScheduledThreadPool(10);
    }
}
定时器线程池

ThreadPoolExecutor子类的核心类构造方法参数

线程池的工作流程

线程池构造方法参数

JDK内置的4种线程池
  • 固定大小线程池
  • 数量动态变化的缓存池
  • 单线程池
  • 定期线程池


单线程池的意义:只用创建和销毁一次线程

比如:有10个线程任务,就要创建和销毁线程10次,使用单线程池就只需要创建和销毁一次,一次只服务于一个线程,其他线程等待.(类似于小本生意)

线程池的使用建议

阿里编码规约∶尽量不要使用内置线程池,最好根据实际的业务需求,定制线程池自己new ThreadPoolExector对象,传递相应的参数

核心:线程池的工作流程,线程池的各个参数


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1000372.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号