<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Java實現監控多個線程狀態的實現

    Posted on 2010-10-15 20:28 myfavorite 閱讀(1437) 評論(0)  編輯  收藏
    場景:需要啟動多線程處理事情,而在所有事情做完之后,需要修改系統狀態;那么如何判斷所有線程(事情)都做完了呢?這就需要判斷所有當前運行的線程狀態了。

    import java.util.concurrent.CountDownLatch;
    import java.util.concurrent.Executor;
    import java.util.concurrent.Executors;

    /**
     * 測試監控類
     * 
     * 
    @author
     * 
     
    */
    public class WatchThread {

        
    /**
         * 測試函數
         * 
         * 
    @throws InterruptedException
         
    */
        
    public void testThread() throws InterruptedException {
            
    int threadNum = 10;
            
    // 初始化countDown
            CountDownLatch threadSignal = new CountDownLatch(threadNum);
            
    // 創建固定長度的線程池
            Executor executor = Executors.newFixedThreadPool(threadNum);
            
    for (int i = 0; i < threadNum; i++) { // 開threadNum個線程
                Runnable task = new TestThread(threadSignal);
                
    // 執行
                executor.execute(task);
            }
            threadSignal.await(); 
    // 等待所有子線程執行完
            
    // do work
            System.out.println(Thread.currentThread().getName() + "+++++++結束.");
        }

        
    /**
         * 測試函數
         
    */
        
    public static void main(String[] args) throws InterruptedException {
            WatchThread test 
    = new WatchThread();
            test.testThread();
        }

        
    /**
         * 
         * 
    @author jill
         * 
         
    */
        
    private class TestThread implements Runnable {
            
    private CountDownLatch threadsSignal;

            
    public TestThread(CountDownLatch threadsSignal) {
                
    this.threadsSignal = threadsSignal;
            }

            
    public void run() {
                System.out.println(Thread.currentThread().getName() 
    + "開始");
                
    // do shomething
                System.out.println("開始了線程::::" + threadsSignal.getCount());
                
    // 線程結束時計數器減1
                threadsSignal.countDown();
                System.out.println(Thread.currentThread().getName() 
    + "結束. 還有"
                        
    + threadsSignal.getCount() + " 個線程");
            }
        }

    }

    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲综合av一区二区三区| 亚洲福利一区二区精品秒拍| 99亚洲精品卡2卡三卡4卡2卡| 最近高清国语中文在线观看免费| 亚洲乱码卡一卡二卡三| 69天堂人成无码麻豆免费视频| 亚洲精品免费观看| 最近2019中文字幕免费大全5| 亚洲精品在线电影| 福利免费观看午夜体检区| 亚洲男人天堂2022| 四虎永久免费影院在线| 羞羞的视频在线免费观看| 亚洲精品岛国片在线观看| caoporn成人免费公开| 亚洲韩国精品无码一区二区三区 | 色婷婷综合缴情综免费观看| 亚洲A∨午夜成人片精品网站 | 亚洲AV日韩AV永久无码免下载| 久久狠狠躁免费观看| 亚洲午夜精品一区二区公牛电影院| 日韩精品成人无码专区免费| 亚洲天然素人无码专区| 免费国产人做人视频在线观看| 五月天国产成人AV免费观看| 亚洲AV成人一区二区三区AV| 美女视频黄的全免费视频| 亚洲成在人线aⅴ免费毛片| 亚洲无av在线中文字幕| 99re热精品视频国产免费| 亚洲日韩亚洲另类激情文学| 亚洲精品成人网久久久久久| 99热在线精品免费播放6| 鲁死你资源站亚洲av| 精品国产亚洲一区二区三区| 黄瓜视频影院在线观看免费| 免费一级毛片在线播放视频免费观看永久| 国产成人综合亚洲AV第一页 | 91av视频免费在线观看| 亚洲一区二区三区高清在线观看 | 波多野结衣一区二区免费视频|