1、Executors 创建可固定数量的线程newFixedThreadPool 代码如下

public class ExecutorsDemo {

public static void main(String[] args) throws Exception, ExecutionException {

ExecutorService fixedThreadPool = Executors.newFixedThreadPool(5);

for(int i=0;i<10;i++){

fixedThreadPool.execute(new MyRunable());

}

}

}

class MyRunable implements Runnable{

@Override

public void run() {

System.out.println(Thread.currentThread().getName());

}

}

我们循环创建10个线程,查看运行结果如下

image.png

2、由以上结果可以看出,由于 Executors.newFixedThreadPool(5) 设置了5个线程,所以运行过程只会创建5个线程来执行所有的任务