黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

Java多線程編程概述
Java多線程的安全問題
Java多線程同步
Java多線程間的通信
Java線程Lock
Java多線程管理
保障線程安全的設計技術
Java鎖的優化及注意事項
Java多線程集合
【Java多線程】單例模式與多線程

Java線程池異常處理

在使用ThreadPoolExecutor進行submit提交任務時,有的任務拋出了異常,但是線程池并沒有進行提示,即線程池把任務中的異常給吃掉了,可以把submit提交改為execute執行,也可以對ThreadPoolExecutor線程池進行擴展.對提交的任務進行包裝:

package com.wkcto.threadpool;

import java.util.concurrent.*;

/**
 * 自定義線程池類,對ThreadPoolExecutor進行擴展
 */
public class Test08 {
    //自定義線程池類
    private static class  TraceThreadPollExecutor extends  ThreadPoolExecutor{
        public TraceThreadPollExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, TimeUnit unit, BlockingQueue workQueue) {
            super(corePoolSize, maximumPoolSize, keepAliveTime, unit, workQueue);
        }
        //定義方法,對執行的任務進行包裝,接收兩個參數,第一個參數接收要執行的任務,第二個參數是一個Exception異常
        public Runnable wrap( Runnable task, Exception exception){
            return  new Runnable() {
                @Override
                public void run() {
                    try {
                        task.run();
                    }catch (Exception e ){
                        exception.printStackTrace();
                        throw  e;
                    }
                }
            };
        }

        //重寫submit方法
        @Override
        public Future submit(Runnable task) {
            return super.submit(wrap(task, new Exception("客戶跟蹤異常")));
        }

        @Override
        public void execute(Runnable command) {
            super.execute(wrap(command, new Exception("客戶跟蹤異常")));
        }
    }

    //定義類實現Runnable接口,用于計算兩個數相除
    private static class  DivideTask implements  Runnable{
        private  int x;
        private  int y;

        public DivideTask(int x, int y) {
            this.x = x;
            this.y = y;
        }

        @Override
        public void run() {
            System.out.println(Thread.currentThread().getName() + "計算:" + x + " / " + y + " = " + (x/y));
        }
    }
    public static void main(String[] args) {
        //創建線程池
//        ThreadPoolExecutor poolExecutor = new ThreadPoolExecutor(0, Integer.MAX_VALUE, 0, TimeUnit.SECONDS, new SynchronousQueue<>());
        //使用自定義的線程池
        ThreadPoolExecutor poolExecutor = new TraceThreadPollExecutor(0, Integer.MAX_VALUE, 0, TimeUnit.SECONDS, new SynchronousQueue<>());

        //向線程池中添加計算兩個數相除的任務
        for (int i = 0; i < 5; i++) {
            poolExecutor.submit(new DivideTask(10, i));
//            poolExecutor.execute(new DivideTask(10, i));
        }

    }
}
全部教程
主站蜘蛛池模板: 亚洲精品第四页中文字幕 | 日本三级免费看 | 1717she永久精品免费 | 日韩在线二区 | 成人午夜精品 | 久久久精彩视频 | 国产成人午夜 | 在线播放a 1 | 色天使色婷婷在线影院亚洲 | 亚洲精彩视频 | 午夜影院免费在线观看 | 日韩黄色在线视频 | 天天躁夜夜躁狠狠躁 | 国内精品久久久久影 | 亚洲黄网站wwwwww | 香蕉黄网 | 亚洲一区二区影院 | 婷婷在线观看视频 | 欧洲真实呦女网站 | 国产免费无遮挡在线观看视频 | 亚洲欧美日韩不卡 | 亚洲国产激情在线一区 | 日韩精品一二三区 | 日韩一区在线视频 | 干干干日日日 | 97色在线视频观看香蕉 | 秋霞在线高清观看伦理片 | 视频日韩p影院永久免费 | 天堂精品 | 日韩亚洲一区中文字幕 | 在线成人播放毛片 | 成年偏黄网站站免费 | 一本久| 午夜伦理片在线观看 | 成人羞羞视频在线观看免费 | 香蕉网站99视频丝瓜视频 | 2015小明台湾永久区域免费 | 91精品视频在线免费观看 | 国产片一级毛片视频 | 国产韩国精品一区二区三区久久 | 美国十次综合 |