初识线程池

第一:线程池的好处

1 减少线程在创建和销毁上所消耗的时间以及系统资源的开销

2 提高响应速度,如果不使用线程池可能造成系统创建大量的线程池而消耗完系统内存

3 提高线程的可管理性

第二:线程池的分类

a类:

ThreadPoolExecutor通常使用Executors来创建。Executors 可以创建3种类型的线程池。

1 FixedThreadPool 创建使用固定数量的线程,适用于为了满足资源管理的需求,而需要限制当前线程数量的应用场景,适用于负载较高的服务器。

2 SingleThreadExecutor 创建单个线程,适用于需要保证顺序的执行各个任务;并且在任意时间点,不会有多个线程是活动的应用场景。

3 CacheThreadPool 是大小无界的线程池,适用于执行很多的短期异步任务的小程序,或者负载较轻的服务器。

b类:

 ScheduledThreadPoolExecutor通常也是使用Executors来创建的。通常可以创建两种类型的。

1 ScheduledThreadPoolExecutor 适用于需要多个后台线程执行周期任务,同时为了满足资源管理的需求而需要限制后台线程的数量的应用场景。

2 SingleThreadScheduledExecutor 适用于需要单个后台线程执行周期任务,同时需要保证顺序地执行各个任务的应用场景。

第三:线程池涉及结构图

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • layout: posttitle: 《Java并发编程的艺术》笔记categories: Javaexcerpt...
    xiaogmail阅读 11,125评论 1 19
  • 上集回顾:上集我们稍做讲解了Future与Executor Executors 创建并得到ThreadPoolEx...
    苏先生Tongson阅读 4,064评论 0 2
  • 前段时间遇到这样一个问题,有人问微信朋友圈的上传图片的功能怎么做才能让用户的等待时间较短,比如说一下上传9张图片,...
    加油码农阅读 4,940评论 0 2
  • 使用线程池的原因 无线创建线程的不足在生产环境中,为每一个任务都分配一个线程这种方法存在一些缺陷:线程生命周期的开...
    德彪阅读 3,846评论 0 1
  • 今天我跟竺同学要坐零晨四点二十的车回家(没错儿,我找罪受呢,想捅了自己),原本想着撒娇耍赖想要让大小姐他们三点再送...
    浅悦读阅读 1,547评论 0 0