普通线程池
//创建线程池,不指定上限
ExecutorService pool1 = Executors.newCachedThreadPool();
//创建线程池,指定上限
ExecutorService pool1 = Executors.newFixedThreadPool(5);
-------------------------------------------------
//创建线程,提交任务,每次提交都会分配一个线程池
pool1.submit(new MyRunnable());
-------------------------------------------------
//销毁线程池
pool1.shutdown();
自定义线程池


import java.util.concurrent.*;
public class Main {
public static void main(String[] args) throws InterruptedException {
//创建线程池,不指定上限
ExecutorService pool1 = Executors.newCachedThreadPool();
//
//
// //创建线程池,指定上限
// ExecutorService pool1 = Executors.newFixedThreadPool(5);
//
// //创建线程,提交任务,每次提交都会分配一个线程池
// pool1.submit(new MyRunnable());
// pool1.submit(new MyRunnable());
// pool1.submit(new MyRunnable());
// pool1.submit(new MyRunnable());
// pool1.submit(new MyRunnable());
// pool1.submit(new MyRunnable());
// pool1.submit(new MyRunnable());
// pool1.submit(new MyRunnable());
// pool1.submit(new MyRunnable());
// pool1.submit(new MyRunnable());
// pool1.submit(new MyRunnable());
// pool1.submit(new MyRunnable());
// pool1.submit(new MyRunnable());
// pool1.submit(new MyRunnable());
// pool1.submit(new MyRunnable());
// pool1.submit(new MyRunnable());
//
//销毁线程池
pool1.shutdown();
ThreadPoolExecutor pool=new ThreadPoolExecutor(
3,//核心线程数量,必须>0
6,//最大线程数,包含核心数量与临时数量。必须>=核心数量
60,//空闲线程最大存活时间
TimeUnit.SECONDS,//时间的单位
new ArrayBlockingQueue<>(3),//任务队列 !=NULL
Executors.defaultThreadFactory(),//线程工厂,获取线程
new ThreadPoolExecutor.AbortPolicy()//拒绝策略,静态内部类
);
}
}