Java的线程池
import java.util.concurrent.ExecutorService;
线程池的创建 常见的有如下四类
newSingleThreadExecutor:单线程池。
创建单个线程,永不超时,多个线程的进入执行的时候,放置阻塞队列等待
newCachedThreadPool:缓冲功能的线程池
创建线程数无上限(Integer的最大值),新增任务是创建新线程或复用之前的。线程超过60秒等待时间将会终止。
newFixedThreadPool:固定线程数量的线程池
可设置固定数目,超出的时候进入阻塞队列
newScheduledThreadPool:固定数量的定时或者周期性执行任务的线程池
用来存放定时或者周期性执行的任务的线程池。
下面主要讲第三种
newFixedThreadPool
创建方式:
private ExecutorService service = Executors.newFixedThreadPool(20);
加入任务:
service.execute(new 任务名称(参数));
任务说明:
1 public class 任务名称 implements Runnable { 2 任务名称(参数) { 3 //构造函数、进行初始化操作 4 } 5 @Override 6 public void run() { 7 //重写run方法 8 } 9 }
待操作系统分配资源给进程时调用线程执行。