java.lang.Threadは、スレッドを扱うためのクラスです。
java.lang.Threadの特徴
java.lang.Threadは、並列処理を行う時に使用するクラスです。
並列処理の実際の処理はjava.lang.Runnableインターフェースを実装したクラスに定義し、
そのオブジェクトをThreadに渡して実行するという流れになります。
java.lang.Threadの継承・実装
継承クラス
・java.lang.Object
・java.lang.Thread
実装インターフェース
導入バージョン
・JDK1.0
java.lang.ThreadのAPI
型 | 定数 | 説明 |
---|---|---|
int | MAX_PRIORITY | スレッドに設定する最高の優先順位 (内部値は10) |
int | MIN_PRIORITY | スレッドに設定する最低の優先順位 (内部値は1) |
int | NORM_PRIORITY | スレッドに設定するデフォルトの優先順位 (内部値は5) |
コンストラクタ名 | 説明 |
---|---|
Thread() | スレッドオブジェクトを生成する |
Thread(Runnable t) | Runnableオブジェクトを指定してスレッドオブジェクトを生成する |
Thread(Runnable t, String n) | Runnableオブジェクトと名称を指定してスレッドオブジェクトを生成する |
戻値型 | メソッド | 静的 | 説明 |
---|---|---|---|
void | start() | スレッドを実行する | |
void | join() | このスレッドが終了するのを待機する | |
boolean | isAlive() | このスレッドが生きているかどうか | |
boolean | isDaemon() | このスレッドがデーモンスレッドかどうか | |
void | sleep(long millis) | 〇 | 処理を指定した時間スリープさせる |
Thread.State | getState() | このスレッドの状態を返す ・BLOCKED:ブロックされ、モニターロックを待機している状態 ・NEW:まだ起動されていない状態 ・RUNNABLE:実行可能な状態 ・TERMINATED:終了した状態 ・TIMED_WAITING:指定時間待機中の状態 ・WAITING:待機中の状態 | |
void | setPriority(int p) | このスレッドの優先順位を変更する |
java.lang.Threadサンプル
- (スレッドオブジェクトを生成する)
-
Thread thread = new Thread();
- (処理を指定してスレッドオブジェクトを生成する)
-
Thread thread = new Thread(() -> { //実行したい処理 });
※この例は、Runnableインターフェースをラムダ式で実装したクラスをThreadのコンストラクタに渡しています
- (スレッドを開始する)
-
thread.start();
- (スレッドの優先度を最高に設定する)
-
thread.setPriority(Thread.MAX_PRIORITY);
コメント