<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() + " 個線程");
            }
        }

    }

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


    網站導航:
     
    主站蜘蛛池模板: 亚洲色成人四虎在线观看| 好男人资源在线WWW免费| 免费又黄又爽的视频| A级毛片高清免费视频在线播放| 亚洲国产精品人久久电影| 国产一区二区视频免费| 免费观看男人吊女人视频| 亚洲欧美不卡高清在线| 人人狠狠综合久久亚洲88| 18禁成年无码免费网站无遮挡| 亚洲精品黄色视频在线观看免费资源 | 一个人看的www免费在线视频| 亚洲五月六月丁香激情| 四虎永久在线精品视频免费观看| 免费无码又爽又刺激高潮软件| 亚洲人成人网毛片在线播放| 在线亚洲午夜理论AV大片| 免免费国产AAAAA片| 怡红院免费的全部视频| 亚洲精品无码不卡在线播放| 亚洲AV无码国产丝袜在线观看 | 免费人成无码大片在线观看| 黄色网址免费大全| 久久久久久久国产免费看 | a一级爱做片免费| 亚洲 暴爽 AV人人爽日日碰| 亚洲韩国精品无码一区二区三区| 蜜臀91精品国产免费观看| 中文字幕免费高清视频| 大妹子影视剧在线观看全集免费| 亚洲日韩国产一区二区三区在线 | g0g0人体全免费高清大胆视频| 亚洲人成影院在线高清| 亚洲AV无码乱码国产麻豆穿越| 人人狠狠综合久久亚洲高清| 在线观看人成网站深夜免费| www视频在线观看免费| 免费萌白酱国产一区二区三区| 国产精品亚洲专区无码唯爱网| 亚洲av午夜精品无码专区| 亚洲乱码一区二区三区在线观看 |