线程池

线程池原理:
1.线程池管理器:用于创建并管理线程池,包括创建线程池,销毁线程池,添加新任务
2.工作线程:线程池中线程,在没有任务时处于等待状态,可以循环执行线程
3.任务接口:每个任务必须实现的接口,以供工作线程调度任务的执行,它主要规定了任务的入口,任务执行完之后的收尾工作,任务的执行状态等;
4.任务队列:用于存放没有处理的任务,提供一种缓冲机制


屏幕快照 2019-09-08 下午2.38.34.png

线程Api接口:


屏幕快照 2019-09-08 下午2.40.06.png

executorService:


屏幕快照 2019-09-08 下午2.42.27.png

线程池api


屏幕快照 2019-09-08 下午11.26.04.png

屏幕快照 2019-09-08 下午11.27.04.png

屏幕快照 2019-09-08 下午11.30.04.png
 private void threadPoolExecutorTest1() throws InterruptedException {
        ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(5,
                10,5, TimeUnit.SECONDS,new LinkedBlockingDeque<Runnable>());
        testCommon(threadPoolExecutor);
    }

    private void threadPoolExecutorTest2() throws InterruptedException{
        ThreadPoolExecutor threadPoolExecutor = new ThreadPoolExecutor(5, 10,
                5, TimeUnit.SECONDS, new LinkedBlockingDeque<Runnable>(3), new RejectedExecutionHandler() {
            @Override
            public void rejectedExecution(Runnable r, ThreadPoolExecutor executor) {
                System.out.println("有任务被拒绝执行了");
            }
        });
        testCommon(threadPoolExecutor);
    }
屏幕快照 2019-09-15 下午10.43.30.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容