一、线程池基本概念
概念:
线程池主要是控制运程的数量,将待处理任务放到等待队列,然后创建线程执些任务。
如果超过了最程数,则等待。
为什么程池/h2>
10年前单核CPU电脑,假的多线程,像团玩多个球,CPU需要来回切换。
现在是多核电脑,多个线程各在独CPU上,不换效率/span>。
线程池的优点:
- 线程池做的只要是控制运线程数量,
- 处理过程中将任务放列,然后在线程创建后启动这些 任务,
- 如果线程数量超过了最量,超出数量的线程排队等候,等其他线程执毕,再从队列中取 出任务来执
线程池的主要特点为:
线程复控制最发数;管理线程。
1. 线程复/span>:不直new新线程,重复利/span>已经创建的线程来降低线程的创建和销毁开销,节省系 统资源。
2. 提应速度:当任务达到时,不建新的线程,直接利程池的线程。
3. 管理线程:可以控制最发数,控制线程的创建等。
体系:
Executor → ExecutorService → AbstractExecutorService → ThreadPoolExecutor 。
Thr eadPoolExecutor 是线程池创建的核。类似 Arrays 、 Collections 类, Executor 也有的类 Executors 。
二、线程池三种常建
Java中的线程池是通过Executor框架实现的,该框架中了Executor,Executors, ExecutorService,ThreadPoolExecutor这类。
newFixedThreadPool线程池
使inkedBlockingQueue 实现,定/span>线程池。
特点:执期任务性能好,创建线程池,有N个固定的线程,有固定线程数的线程
newSingleThreadExecutor线程池
使LinkedBlockingQueue 实现,只有线程。
特点:任务任务的执/span>,程
newCachedThreadPool线程池
使SynchronousQueue 实现,变/span>线程池。
特点:
执多短期异步任务,线程池根据需要创建新线程,但在先前构建的线程可将重们。
可扩容,遇强则强
三、线程池代码演示
四、线程池创建的七个参数
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!