2022.11.25

Javaプログラミング

プログラムを一定時間停止する方法

JavaThread.sleepメソッドを使って、プログラムを指定した時間の間、停止することができます。

停止する時間は、ミリ秒(millisecond)単位で指定することができます。

プログラムを一定時間停止するメソッド

Thread.sleepメソッド

public static void sleep( long millis )
・システムタイマーとスケジューラが正確であることを前提として、現在実行中のスレッドを、指定されたミリ秒数の間、スリープ (一時的に実行を停止) させます。

  パラメータ millis : スリープさせるミリ秒数

  戻り値     なし

Javaソースコード

以下は、Thread.sleepメソッドを使ったJavaプログラムの例です。

停止する時間は5秒にしています。秒数を変更してお試しください。

Wait5Sec.java

001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
016
017
018
019
020
021
public class Wait5Sec {
	public static void main(String[] args) {
		// 待ち時間(秒)を設定
		long sec = 5;

		// "開始"をコンソール出力
		System.out.println( "開始" );

		// 指定ミリ秒プログラムを停止
		try {
			Thread.sleep( sec * 1000 );
		} catch ( InterruptedException e ) {
			// 失敗したときの処理
			e.printStackTrace();			
			return;
	        }

		// "終了"をコンソール出力
		System.out.println( "終了" );
	}
}

出力結果

開始
終了

”開始”コンソール出力された5秒後に、”終了”が出力されます。

Javaソースコードの解説

001
public class Wait5Sec {

クラス名を、Wait5Secとしています。

002
	public static void main(String[] args) {

このmainメソッドからプログラムを実行します。

003
004
		// 待ち時間(秒)を設定
		long sec = 5;

待ち時間(秒)を格納するlong型変数secに5を代入しています。

006
007
		// "開始"をコンソール出力
		System.out.println( "開始" );

文字列"開始"をprintlnコンソール出力しています。

009
010
011
012
013
014
015
016
		// 指定ミリ秒プログラムを停止
		try {
			Thread.sleep( sec * 1000 );
		} catch ( InterruptedException e ) {
			// 失敗したときの処理
			e.printStackTrace();			
			return;
	        }

Thread.sleepメソッド引数変数secに1000を掛けた値を与えています。secは秒なので、1000を掛けてミリ秒に変換しています。

例外処理は、try { ~ } catch { ~ }で対応しています。

018
019
		// "終了"をコンソール出力
		System.out.println( "終了" );

文字列"終了"をprintlnコンソール出力しています。

関連するコンテンツ

メソッドの定義方法を詳しく解説しています。Javaのサンプルソースコードを使った説明もあります。

2020.03.23

変数やクラスに格納されている値をコンソール出力する方法は?

2020.03.23

広告