这篇主要说一下Executor
框架及线程池。
什么是线程池
顾名思义,线程池就是存放线程的池子,池子里面存放的是已经创建好的N个线程;Java
里面一般用List
或Set
等容器类来存储线程,实现线程池功能。
为什么要使用线程池
首先,线程的创建和销毁是很耗费时间和资源的一件事情。
其次,线程不能无限制的创建,每个线程都会占用内存资源,而且如果线程过多,线程之间的调度也是一件很消耗系统性能的事情。
线程池带来的好处
可以做到随用随取,节省因创建线程而花费的时间
通过设置线程池容量,可以保证创建的线程数量在一个合理范围区间,不会耗光系统资源。
如何创建线程池Java
提供了Executor
框架,可以让我们简单方便的使用线程池。
//创建一个为容量为2的线程池
Executor exec = Executors.newFixedThreadPool(2);
//向线程池提交5个任务
for