CountDownLatchを使用して、コードを同時に実行するスレッドをシミュレートする

CountDownLatchを使用してスレッドの同時実行コードをシミュレートします。サンプルコードは次のとおりです。

パッケージcom.gaopeng.multithread; 

import java.util.concurrent.CountDownLatch; 

/ ** 
 * CountDownLatchを使用してスレッドの同時実行コードをシミュレート
 * 
 * @author gaopeng 
 * 
 * / 
public  class CountDownLatchConTest { 

    // 並行番号
    private  static  final  int THREAD_NUM = 10 ; 

    private  static  volatile CountDownLatch countDownLatch = new CountDownLatch(THREAD_NUM); 

    public  static  void main(String [] args)throws InterruptedException { 

        forint i = 0; i <THREAD_NUM; I ++ ){ 
            スレッドスレッド = 新しいスレッド(新しいRunnableを(){ 

                @Override 
                公共 のボイドの実行(){
                     // 所有的线程在这里等待
                    してみてください{ 
                        countDownLatch.await(); 
                        System.out.printlnは(にThread.currentThread() + "=" + System.currentTimeMillis()); 
                    } catch (InterruptedException e){ 
                        e.printStackTrace(); 
                    } 

                } 
            });

            thread.start(); 

            // 開始後、カウントダウンカウンターが1つ減少し、スレッドが
            countDownLatch.countDown(); 
        } 
    } 
}の準備ができていることを示します

結果は次のとおりです。

スレッド[スレッド-2,5、メイン] = 1587356721613
スレッド[スレッド-1,5、メイン] = 1587356721613
スレッド[スレッド-8,5 、メイン] = 1587356721613
スレッド[スレッド-3,5 、メイン] = 1587356721613
スレッド[ Thread-7,5、main] = 1587356721613
Thread [Thread-6,5、main] = 1587356721613
Thread [Thread-5,5、main] = 1587356721613
Thread [Thread-0,5、main] = 1587356721613
Thread [Thread- 4,5、main] = 1587356721613
スレッド[スレッド-9,5 、main] = 1587356721613

おすすめ

転載: www.cnblogs.com/gaopengpy/p/12737013.html