|
nanoJBlend | |||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectjava.lang.Thread
public class Thread
Thread はマルチスレッド実行環境で実行する一つのスレッドを表します。
Thread オブジェクトは以下の属性を持ちます。
Thread オブジェクトを生成する際に任意の名前を付与できます。
名前を指定しないコンストラクタで Thread オブジェクトを生成する場合、
"Thread-" + n ( n は整数) という名前が付与されます。
複数のスレッドが同一の名前を持つことができます。
スレッドを生成するには次の2種類の方法があります。
Thread クラスを拡張する
Runnable インタフェースを実装する
Runnable インタフェースを実装するクラスを宣言して、そのクラスで run メソッドを実装します。
Runnable オブジェクト) を生成します。
Runnable オブジェクトを Thread(Runnable) または Thread(Runnable,String) メソッドに渡して Thread オブジェクトを生成します。
Thread オブジェクトの start メソッドを呼び出します。
Thread オブジェクトを生成する際に渡した Runnable オブジェクトの run メソッドが新しいスレッドの中で実行されます
一旦スレッドが終了した後に再実行することはできません。
また、start を繰り返し呼び出して同一のスレッドを複数回開始することもできません。
| コンストラクタの概要 | |
|---|---|
Thread()
Thread を生成します。 |
|
Thread(Runnable target)
指定された Runnable を実行する Thread を生成します。 |
|
Thread(Runnable target,
String name)
指定された名称で、指定された Runnable を実行する Thread を生成します。 |
|
Thread(String name)
指定された名称の Thread を生成します。 |
|
| メソッドの概要 | |
|---|---|
static Thread |
currentThread()
現在実行中のスレッドへの参照を返します。 |
String |
getName()
このスレッドの名称を返します。 |
void |
interrupt()
このスレッドに割り込みをかけます。 |
void |
join()
このスレッドが終了するのを待ちます。 |
void |
run()
Thread クラスを拡張してスレッドを実装する場合、拡張したクラスでこのメソッドをオーバーライドして処理を実装します。 |
void |
setName(String name)
スレッドの名称を設定します。 |
static void |
sleep(long millis)
現在実行中のスレッドを、指定された時間だけスリープさせます(一時的に実行を止めます)。 |
void |
start()
このスレッドの実行を開始させます。 |
static void |
yield()
現在実行中のスレッドを一時停止させ、他のスレッドを実行させます。 |
| クラス java.lang.Object から継承されたメソッド |
|---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait |
| コンストラクタの詳細 |
|---|
public Thread()
Thread を生成します。
このコンストラクタの呼び出しは Thread(this, "Thread-" + n) (nは整数値を表す文字列)の呼び出しと等価です。
public Thread(Runnable target)
Runnable を実行する Thread を生成します。
このコンストラクタの呼び出しは Thread(target, "Thread-" + n) (nは整数値を表す文字列)の呼び出しと等価です。
target - スレッドで実行する run メソッドが実装されている Runnable オブジェクト。
このパラメータに null を指定した場合でも例外は発生しませんが、
そのオブジェクトを使用した場合の振る舞いは保証されません。
public Thread(Runnable target,
String name)
Runnable を実行する Thread を生成します。
nano アプリケーションが Thread#start メソッドを呼び出すと、nanoJBlendは新たにスレッドを開始して、そのスレッドで target#run をよびだします。
target - スレッドで実行する run メソッドが実装されている Runnable オブジェクト。
このパラメータに null を指定した場合でも例外は発生しませんが、
そのオブジェクトを使用した場合の振る舞いは保証されません。name - スレッドの名称public Thread(String name)
Thread を生成します。
このコンストラクタの呼び出しは Thread(this, name) の呼び出しと等価です。
name - スレッドの名称| メソッドの詳細 |
|---|
public static Thread currentThread()
public final String getName()
public void interrupt()
スレッドが Object クラスの wait() または wait(long) 、または Thread クラスの sleep(long) 、 join() の呼び出しによってブロックされている状態でそのスレッドに対して interrupt メソッドが呼び出されると、スレッドをブロックしているメソッドは InterruptedException をスローします。
public final void join()
throws InterruptedException
InterruptedException - 他のスレッドがこのスレッドに割り込みをかけた場合。public void run()
Thread クラスを拡張してスレッドを実装する場合、拡張したクラスでこのメソッドをオーバーライドして処理を実装します。
この場合、拡張したクラスのオブジェクトの start メソッドを呼び出すと、新たに生成されたスレッドで run メソッドが呼び出されます。
Runnable オブジェクトを指定して Thread オブジェクトを生成した場合、 start メソッドの呼び出しはこの run メソッドではなく、 Runnable オブジェクトの run メソッドの呼び出しを引き起こします。
アプリケーションが Thread クラスまたはそのサブクラスの run メソッドを直接呼び出すことは想定されていません。また、 Thread クラスの run メソッドの実装は何もしません。
Runnable 内の runstart()
public static void sleep(long millis)
throws InterruptedException
millis - スレッドをスリープさせる時間(ミリ秒)。
0xFFFFFFFFL より大きな値は 0xFFFFFFFFL (約49日)に制限されます。
InterruptedException - 他のスレッドがこのスレッドに割り込みをかけた場合。public void start()
Runnable オブジェクトを指定して Thread オブジェクトを生成した場合、 start メソッドを呼び出すと、別スレッドが開始され、その中で Runnable オブジェクトの Runnable.run() メソッドが呼び出されます。 Runnable オブジェクトを指定して Thread オブジェクトを生成していない場合は、自オブジェクトの run() メソッドが呼び出されます。
同一の Thread オブジェクトについてスレッドを2回以上開始させることはできません。
スレッドがいったん実行を完了したあとでも再スタートすることはできません。
IllegalThreadStateException - 既にこのスレッドが開始されていた場合public static void yield()
public void setName(String name)
name - スレッドの名称
このパラメータに null を指定した場合の振る舞いは保証されません。
|
nanoJBlend | |||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||