◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。
2.1 线程池的概念
线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务。线程池线程都是后台线程。
线程池内部结构 :
1.线程池管理器:负责线程创建、销毁、添加任务等;
3.任务队列( BlockingQueue ):线程满了之后,可以放到任务队列中,起到一定的缓冲;
4.任务:要求实现统一的接口,方便处理和执行;
2.2 线程池的优点
2.提高性能,用已创建的线程执行任务,减少创建和销毁线程的开销。
3.约束最大线程并发数,防止无止境创建线程造成性能变差以及程序死掉。
4.活跃线程数、最大线程数等参数可配置,方便进行性能调优。
2.3 线程池的状态
线程池的5种状态:Running、ShutDown、Stop、Tidying、Terminated。
1.RUNNING
状态说明:线程池处在RUNNING状态时,能够接收新任务,以及对已添加的任务进行处理。
状态切换:线程池的初始化状态是RUNNING。换句话说,线程池被一旦被创建,就处于RUNNING状态,并且线程池中的任务数为0!
2.SHUTDOWN
状态说明:线程池处在SHUTDOWN状态时,不接收新任务,但能处理已添加的任务。
状态切换:调用线程池的shutdown()接口时,线程池由RUNNING -
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。