カテゴリ: Java 更新日: 2026/02/10

JavaのThreadクラスsleepメソッドを完全ガイド!初心者でもわかるスレッドの一時停止

Threadのsleepメソッド
Threadのsleepメソッド

教材紹介 Java学習のおすすめ教材

Javaの基礎を体系的に整理しながら学習したい方には、 資格対策としても定評のある定番教材が参考になります。

Javaプログラマ Silver SE 17 教科書をAmazonで見る

※ Amazon広告リンク

先生と生徒の会話形式で理解しよう

生徒

「Javaでスレッドを一時的に止めたいときってどうすればいいですか?」

先生

「そのときに役立つのがThreadクラスのsleepメソッドです。java.langパッケージに含まれていて、指定した時間だけスレッドを停止できます。」

生徒

「なるほど!でもsleepを使うときに気をつけることってありますか?」

先生

「はい、いくつかポイントがあるので順番に詳しく説明していきましょう。」

1. sleepメソッドとは?

1. sleepメソッドとは?
1. sleepメソッドとは?

sleepメソッドは、スレッドを一定時間だけ一時停止させるための静的メソッドです。Javaのjava.lang.Threadクラスに用意されており、ミリ秒単位で待機時間を指定します。例えば「1秒間だけスレッドを止めたい」といった制御が可能になります。並行処理を行うプログラムで一時的な待機やリズムをつけたいときに便利です。

2. 基本的な使い方

2. 基本的な使い方
2. 基本的な使い方

sleepメソッドの基本的な使い方は以下の通りです。Thread.sleep(時間)という形で使います。時間はミリ秒単位で指定します。


public class SleepExample {
    public static void main(String[] args) {
        System.out.println("処理開始");
        try {
            Thread.sleep(2000); // 2秒間停止
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        System.out.println("2秒後に処理再開");
    }
}

処理開始
2秒後に処理再開

3. InterruptedExceptionに注意

3. InterruptedExceptionに注意
3. InterruptedExceptionに注意

sleepメソッドを使うときには必ずInterruptedExceptionを処理する必要があります。これはスレッドが停止している間に割り込みが発生した場合にスローされる例外です。基本的にはtry-catchで例外処理を記述しておきます。

4. 複数スレッドとsleepの組み合わせ

4. 複数スレッドとsleepの組み合わせ
4. 複数スレッドとsleepの組み合わせ

複数のスレッドを同時に実行しながら、一定時間ごとに処理を止めることで動作を分かりやすく制御することができます。以下は二つのスレッドを動かし、それぞれ1秒ごとにメッセージを表示する例です。


public class MultiSleepExample {
    public static void main(String[] args) {
        Runnable task1 = () -> {
            for (int i = 0; i < 3; i++) {
                System.out.println("タスク1: " + i);
                try {
                    Thread.sleep(1000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        };

        Runnable task2 = () -> {
            for (int i = 0; i < 3; i++) {
                System.out.println("タスク2: " + i);
                try {
                    Thread.sleep(1000);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        };

        new Thread(task1).start();
        new Thread(task2).start();
    }
}

5. sleepメソッドと時間単位

5. sleepメソッドと時間単位
5. sleepメソッドと時間単位

Thread.sleepはミリ秒単位で指定します。例えば1000で1秒、5000で5秒停止します。また、引数を二つ指定することでナノ秒単位の待機を加えることもできます。ただし実際にはOSやCPUのスケジューリングに依存するため、完全に正確な時間で停止するとは限りません。

6. sleepメソッドの使いどころ

6. sleepメソッドの使いどころ
6. sleepメソッドの使いどころ

sleepはさまざまな場面で使われます。例えば、一定時間ごとにログを出力する処理、APIにアクセスする間隔を調整する処理、ゲームのフレームレートを制御する処理などです。初心者がスレッドプログラミングを学ぶときには、処理の流れを見やすくするためにもsleepを挟むと理解しやすくなります。

7. 注意点とベストプラクティス

7. 注意点とベストプラクティス
7. 注意点とベストプラクティス

sleepを乱用するとプログラム全体のレスポンスが悪くなったり、意図せず処理が遅延する原因になることがあります。また、マルチスレッド環境では他のスレッドとのバランスを考えて設計する必要があります。できるだけ必要な場面でのみ使い、処理待ちには他の方法(例: waitや同期機構)を検討するのが望ましいです。

8. java.langパッケージとThreadクラスの関係

8. java.langパッケージとThreadクラスの関係
8. java.langパッケージとThreadクラスの関係

java.langパッケージはJavaで最も基本的なパッケージであり、自動的に読み込まれます。その中に含まれるThreadクラスは並行処理の中心的な存在です。sleepメソッドはこのThreadクラスに備わっているため、初心者でもインポート不要ですぐに使える便利な機能です。

カテゴリの一覧へ
新着記事
New1
Spring
SpringDataJPAのJPAクエリメソッド「Before」の使い方を完全ガイド!初心者向け解説
更新記事
New2
Java
JavaのThreadクラスsleepメソッドを完全ガイド!初心者でもわかるスレッドの一時停止
新規投稿
New3
Spring
SpringDataJPAのJPAクエリメソッド「GreaterThanEqual」の使い方を完全ガイド!初心者向け解説
更新記事
New4
Spring
SpringDataJPAのJPAクエリメソッド「GreaterThan」の使い方を完全ガイド!初心者向け解説
更新記事
人気記事
No.1
Java&Spring記事人気No1
Spring
Spring BootとJavaの互換性一覧!3.5/3.4/3.3はJava 21・17に対応してる?
No.2
Java&Spring記事人気No2
Servlet
JavaのHttpSessionを徹底解説!初心者でもわかるセッション管理の基本
No.3
Java&Spring記事人気No3
Spring
Springの@Componentアノテーションの使い方を徹底解説!初心者でもわかるSpring Boot入門
No.4
Java&Spring記事人気No4
JSP
JSPの基本タグ一覧と使い方まとめ!実務で使えるタグを紹介
No.5
Java&Spring記事人気No5
Spring
Spring Data JPA入門!findAll()やfindBy**()の使い方などデータベース操作の基礎を学ぶ
No.6
Java&Spring記事人気No6
Spring
Springの@Serviceアノテーションの使い方を徹底解説!初心者でもわかるSpring フレームワーク入門
No.7
Java&Spring記事人気No7
Spring
Spring BootのMultipartFile入門:ファイルアップロード・ダウンロードの実装方法と制限設定
No.8
Java&Spring記事人気No8
Spring
SpringのModelクラスの使い方を完全ガイド!初心者でも安心

💻 作業効率アップに

長時間のコーディングでも疲れにくい♪ 静音ワイヤレスマウス

Logicool Signature M750 を見る

※ Amazon広告リンク