什么是线程池(线程池满了会发生什么)

作者:皇家啊浩
围观群众:76
更新于

1 基本概括

什么是线程池(线程池满了会发生什么)

2 主要介绍

2.1 线程池的概念

线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务。线程池线程都是后台线程。

线程池内部结构 :

1.线程池管理器:负责线程创建、销毁、添加任务等;

2.工作线程: 线程池创建的正在工作的线程;

3.任务队列( BlockingQueue ):线程满了之后,可以放到任务队列中,起到一定的缓冲;

4.任务:要求实现统一的接口,方便处理和执行;

2.2 线程池的优点

  1. 可以将任务的提交和执行策略解耦,便于统一管理任务执行策略,好维护,比如延时执行,设置等 待时间,超时自动失败等。

2.提高性能,用已创建的线程执行任务,减少创建和销毁线程的开销。

3.约束最大线程并发数,防止无止境创建线程造成性能变差以及程序死掉。

4.活跃线程数、最大线程数等参数可配置,方便进行性能调优。

2.3 线程池的状态

线程池的5种状态:Running、ShutDown、Stop、Tidying、Terminated。

线程池各个状态切换框架图:

什么是线程池(线程池满了会发生什么)

1.RUNNING

状态说明:线程池处在RUNNING状态时,能够接收新任务,以及对已添加的任务进行处理。

状态切换:线程池的初始化状态是RUNNING。换句话说,线程池被一旦被创建,就处于RUNNING状态,并且线程池中的任务数为0!

2.SHUTDOWN

状态说明:线程池处在SHUTDOWN状态时,不接收新任务,但能处理已添加的任务。

状态切换:调用线程池的shutdown()接口时,线程池由RUNNING -

非特殊说明,本文版权归 鑫源观察网 所有,转载请注明出处.

本文分类: 热门

本文标题: 什么是线程池(线程池满了会发生什么)

本文网址: http://xinyuanvet.com/remen/300.html

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

网站分类
搜索
最新留言
    标签列表