Javaのお勉強



スレッド処理の終了を待つ@Java

スレッド処理の終了を待ちます。
スレッドは、カウントの値を1ずつ増やしていく処理です。

最終的なカウントの値を取得したい場合は、
スレッドをスタートした後に、
カウントの値を表示しても意味がありません。

スレッドが終了した後に表示しないといけません。
スレッドは、joinメソッドにより、終了するまで待つことができます。

スレッドが終了したら、カウントの値を表示します。


public class Main {

    private static int count = 0;

    public static void main(String[] args) {

        //スレッドA作成
        Thread threadA = new Thread(new Runnable() {
            public void run() {
                for (int i=0 ;i<100 ;i++) {
                    int tempCount = count;

                    //スリープ処理
                    try {
                        Thread.sleep(i);
                    } catch (Exception ex) {
                        System.out.println(ex.getMessage());
                    }
                    count = tempCount + 1;
                }
            }
        });

        //スレッドAをスタート
        threadA.start();

        try {
            System.out.println("スレッドの終了を待ってます。");

            //スレッドの終了を待つ
            threadA.join();

            System.out.println(String.valueOf(count));
            System.out.println("スレッド終了しました。");
        } catch(Exception ex) {
            System.err.println(ex.getMessage());
        }
    }
}




Copyright (C) 2008-2026 Javaのお勉強. All Rights Reserved.