线程池demo
1/ 假设MyRunnable 实现了runnable 接口哦

import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
import java.util.*;
class ThreadPoolExecutorDemo{
    private static final int core_pool_size = 5; //应该都是CORE_POOL_size
    private static final int max_pool_size = 10;
    private static final int queue_capacity = 100;
    private static final long keep_alive_time = 1L;

    public static void main(String[] args) {
        //1.建池
        ThreadPoolExecutor executor = new ThreadPoolExecutor(core_pool_size,max_pool_size,
                keep_alive_time, TimeUnit.SECONDS,new ArrayBlockingQueue<>(queue_capacity),
                new ThreadPoolExecutor.CallerRunsPolicy());
        //2.设置runnable的任务
        Runnable worker = new MyRunnable();
        //3.提交任务
        executor.execute(worker);
        //4.种植线程池
        executor.shutdown();
        //5.判断线程池 所有线程关闭了
        while(!executor.isTerminated()){}
        System.out.println("Finish All Threads!");

    }
}