クラス java.lang.Thread
全パッケージ  クラス階層  このパッケージ  前項目  次項目  インデックス

クラス java.lang.Thread

java.lang.Object
   |
   +----java.lang.Thread

public class Thread
extends Object
インタフェース Runnable
スレッドはプロセス内の、単一の逐次的なコントロールフローである。 これは単に次のことを意味する。プログラムの中で実行されている間、各スレッドに は、開始点、スレッドの実行中常に発生する実行点、そして当然終了点が存在する。 スレッドオブジェクトは、マルチスレッドプログラミングの基本となる。 マルチスレッドプログラミングでは、一つのプログラムで、異なるタスクを実行するスレッドを同時に走らせることが可能になる。

新しい実行スレッドを生成するために、スレッドのサブクラスである新しい クラスを宣言し、run()メソッドをこのスレッドで実行したいコードで上書きする。 次にスレッドサブクラスのインスタンスを生成し、そのインスタンスの start()メソッドを呼び出す。 start()メソッドはスレッドを 生成し、run()メソッドを実行する。 例:

	class PrimeThread extends Thread {
	    public void run() {
		// compute primes...
	    }
	}
To start this thread you need to do the following:
	PrimeThread p = new PrimeThread();
	p.start();
	...
スレッドのもう1つの生成法として、Runnableインタフェースを使用する方法がある。 この方法では、Runnable インタフェースを実装しているすべてのオブジェクトが、 スレッド中で実行可能となる。例:
	class Primes implements Runnable {
	    public void run() {
		// compute primes...
	    }
	}
このスレッドを開始させるためには、以下を行う必要がある:
	Primes p = new Primes();
	new Thread(p).start();
	...
スレッドデーモン以外のすべてのスレッドが消滅するまで、仮想マシンは実行される。 run()メソッドが復帰したときか、または stop()メソッドが呼び出されたとき スレッドは消滅する。

新しい Thread が生成されるとき、その親(つまり生成したスレッド)から 優先順位とデーモンフラグを継承する。

参照:
Runnable

Variable Index

 o MAX_PRIORITY
Thread が持つことができる最高位のプライオリティ。
 o MIN_PRIORITY
スレッドが持つことができる最低位のプライオリティ。
 o NORM_PRIORITY
スレッドに割り当てられるデフォルトプライオリティ。

Constructor Index

 o Thread()
新しいスレッドを作成する。
 o Thread(Runnable)
指定されたターゲットの run() メソッドを実行する新しい スレッドを作成する。
 o Thread(ThreadGroup, Runnable)
ターゲットの run() メソッドを実行するスレッドグループで、 新しいスレッドを作成する。
 o Thread(String)
指定された名前で新しいスレッドを作成する。
 o Thread(ThreadGroup, String)
指定されたスレッドグループで、指定された名前を持つ新しいスレッドを作成する。
 o Thread(Runnable, String)
指定された名前で新しいスレッドを作成し、指定されたターゲットの run() メソッドを実行する。
 o Thread(ThreadGroup, Runnable, String)
指定されたスレッドグループで、指定された名前を持つ新しいスレッドを作成し、 指定されたターゲットの run() メソッドを実行する。

Method Index

 o activeCount()
このスレッドグループ中の、現在のアクティブなスレッドの数を返す。
 o checkAccess()
現在のスレッドがこのスレッドを変更することが、許されているかどうか調べる。
 o countStackFrames()
スレッド中のスタックフレームの数を返す。
 o currentThread()
現在実行しているスレッドオブジェクトへのリファレンスを返す。
 o destroy()
クリーンアップせずスレッドを破壊する。
 o dumpStack()
現在のスレッドのスタックトレースを表示するための デバッグプロシージャ。
 o enumerate(Thread[])
指定された配列へ、このスレッドグループのアクティブな各スレッドへの リファレンスをコピーする。
 o getName()
スレッドの名前を取得し、返す。
 o getPriority()
スレッドのプライオリティを取得し、返す。
 o getThreadGroup()
スレッドグループを取得し、返す。
 o interrupt()
スレッドに中断を送る。
 o interrupted()
中断されたかどうか調べる。
 o isAlive()
スレッドがアクティブであるかどうか示す論理型値を返す。
 o isDaemon()
スレッドのデーモンフラグを返す。
 o isInterrupted()
他ののスレッドが中断されたかどうか調べる。
 o join(long)
スレッドが消えるのを待つ。
 o join(long, int)
より正確な時間でスレッドが消えるのを待つ。
 o join()
このスレッドが消えるのを永久に待つ。
 o resume()
スレッドの実行を再開する。
 o run()
スレッドの実際のボディ。
 o setDaemon(boolean)
スレッドデーモンまたはスレッドユーザであるという印をこのスレッドつける。
 o setName(String)
スレッドの名前を設定する。
 o setPriority(int)
スレッドのプライオリティを設定する。
 o sleep(long, int)
現在実行しているスレッドを、ミリ秒単位で指定されただけ スリープさせる。
 o start()
スレッドを開始する。
 o stop()
オブジェクトを捨ててスレッドを停止する。
 o stop(Throwable)
オブジェクトを送りスレッドを停止する。
 o suspend()
スレッドの実行をサスペンドする。
 o toString()
スレッドの名前、プライオリティ、スレッドグループを含む、スレッドを 表現する文字列を返す。
 o yield()
現在実行しているスレッドオブジェクトに実行を停止させる。

Variables

 o MIN_PRIORITY
  public final static int MIN_PRIORITY
スレッドが持つことができる最低位のプライオリティ。プライオリティの最小値は1に等しい。
 o NORM_PRIORITY
  public final static int NORM_PRIORITY
スレッドに割り当てられるデフォルトプライオリティ。デフォルトプライオリティは5に等しい。
 o MAX_PRIORITY
  public final static int MAX_PRIORITY
Thread が持つことができる最高位のプライオリティ。スレッドが持つことができるプライオリティの最小値は10である。

Constructors

 o Thread
  public Thread()
新しいスレッドを作成する。このように生成されたスレッドは、実際に何か 行うために run()メソッドが上書きされている必要がある。 このメソッドの使い方の例を示す。

import java.lang.*; 

class plain01 implements Runnable { String name; plain01() { name = null; } plain01(String s) { name = s; } public void run() { if (name == null) System.out.println("A new thread created"); else System.out.println("A new thread with name " + name + " created"); } }

class threadtest01 { public static void main(String args[] ) { int failed = 0 ;

Thread t1 = new Thread(); if(t1 != null) { System.out.println("new Thread() succeed"); } else { System.out.println("new Thread() failed"); failed++; }

}

 o Thread
  public Thread(Runnable target)
指定されたターゲットの run() メソッドを実行する新しい スレッドを作成する。
パラメータ:
target - run()メソッドが呼び出されるオブジェクト
 o Thread
  public Thread(ThreadGroup group,
                Runnable target)
ターゲットの run() メソッドを実行するスレッドグループで、 新しいスレッドを作成する。
パラメータ:
group - スレッドグループ
target - run()メソッドが呼び出されるオブジェクト
 o Thread
  public Thread(String name)
指定された名前で新しいスレッドを作成する。
パラメータ:
name - 新しいスレッドの名前
 o Thread
  public Thread(ThreadGroup group,
                String name)
指定されたスレッドグループで、指定された名前を持つ新しいスレッドを作成する。
パラメータ:
group - スレッドグループ
name - 新しいスレッドの名前
 o Thread
  public Thread(Runnable target,
                String name)
指定された名前で新しいスレッドを作成し、指定されたターゲットの run() メソッドを実行する。
パラメータ:
target - run() メソッドが呼び出されるオブジェクト
name - 新しいスレッドの名前
 o Thread
  public Thread(ThreadGroup group,
                Runnable target,
                String name)
指定されたスレッドグループで、指定された名前を持つ新しいスレッドを作成し、 指定されたターゲットの run() メソッドを実行する。
パラメータ:
group - スレッドグループ
target - run() メソッドが呼び出されるオブジェクト
name - 新しいスレッドの名前

Methods

 o currentThread
  public static Thread currentThread()
現在実行しているスレッドオブジェクトへのリファレンスを返す。
 o yield
  public static void yield()
現在実行しているスレッドオブジェクトに実行を停止させる。 他の実行可能なスレッドがある場合、次に スケジュールされる。
 o sleep
  public static void sleep(long millis,
                           int nanos) throws InterruptedException
現在実行しているスレッドを、ミリ秒単位で指定されただけ スリープさせる。
パラメータ:
millis - スリープする時間の長さ。単位はミリ秒
millis - ミリ秒単位でスリープする時間の長さ
nanos - ナノ単位の追加のスリープ時間 0-999999
例外: InterruptedException
他のスレッドがこのスレッドを中断した場合。 public static native void sleep(long millis) throws InterruptedException; /** ミリ秒単位とナノ秒単位を加えた間だけスリープさせる。
例外: InterruptedException
他のスレッドがこのスレッドを中断した場合。
 o start
  public synchronized void start()
スレッドを開始する。これにより run() メソッドが呼び出される。 このメソッドは直ちに復帰する。
例外: IllegalThreadStateException
スレッドが既に開始された場合。
参照:
run, stop
 o run
  public void run()
スレッドの実際のボディ。このメソッドは、スレッドが開始した後に 呼び出される。スレッドクラスをサブクラス化してこのメソッドを 上書きするか、Runnable ターゲットを持つスレッドを 生成する必要がある。
参照:
start, stop
 o stop
  public final void stop()
オブジェクトを捨ててスレッドを停止する。デフォルトでこのルーチンは、 ターゲットスレッドへの ThreadDeath の新しいインスタンスを捨てる。 ThreadDeath は実際は Exception のサブクラスではなく、Object の サブクラスである。特殊なクリーンアップ操作をする必要がない限り、 ユーザは通常 ThreadDeath を捕らえようとすべきではない。 ThreadDeath を捕えた場合は、スレッドが実際に消滅するように、 オブジェクトを rethrow することが重要である。 トップレベルのエラーハンドラは、ThreadDeath が失敗するとき メッセージを表示しない。
参照:
start, run
 o stop
  public final synchronized void stop(Throwable o)
オブジェクトを送りスレッドを停止する。通常、ユーザは引数無しで stop() メソッドを呼び出すべきである。しかし、スレッドを消すために stop() メソッドを使用する例外的な状況では、他のオブジェクトが 送られる。ThreadDeath は実際は Exception のサブクラスではなく、 Throwable のサブクラスである。
パラメータ:
o - 送られる Throwable オブジェクト
参照:
start, run
 o interrupt
  public void interrupt()
スレッドに中断を送る。
 o interrupted
  public static boolean interrupted()
中断されたかどうか調べる。
 o isInterrupted
  public boolean isInterrupted()
他ののスレッドが中断されたかどうか調べる。
 o destroy
  public void destroy()
クリーンアップせずスレッドを破壊する。つまりその状態を捨てるだけである; ロックされていたモニタはロックされたままになる。最後の手段である。
 o isAlive
  public final boolean isAlive()
スレッドがアクティブであるかどうか示す論理型値を返す。アクティブな スレッドがあるということは、スレッドが開始されて、まだ停止されていない ことを意味する。
 o suspend
  public final void suspend()
スレッドの実行をサスペンドする。
 o resume
  public final void resume()
スレッドの実行を再開する。このメソッドは、suspend() が呼び出された後 のみ有効である。
 o setPriority
  public final void setPriority(int newPriority)
スレッドのプライオリティを設定する。
例外: IllegalArgumentException
プライオリティが MIN_PRIORITY, MAX_PRIORITY の範囲外である場合。
参照:
MIN_PRIORITY, MAX_PRIORITY, getPriority
 o getPriority
  public final int getPriority()
スレッドのプライオリティを取得し、返す。
参照:
setPriority
 o setName
  public final void setName(String name)
スレッドの名前を設定する。
パラメータ:
name - スレッドの新しい名前
参照:
getName
 o getName
  public final String getName()
スレッドの名前を取得し、返す。
参照:
setName
 o getThreadGroup
  public final ThreadGroup getThreadGroup()
スレッドグループを取得し、返す。
 o activeCount
  public static int activeCount()
このスレッドグループ中の、現在のアクティブなスレッドの数を返す。
 o enumerate
  public static int enumerate(Thread tarray[])
指定された配列へ、このスレッドグループのアクティブな各スレッドへの リファレンスをコピーする。
返り値:
配列に入れられたスレッドの数。
 o countStackFrames
  public int countStackFrames()
スレッド中のスタックフレームの数を返す。このメソッドが呼び出される時、 スレッドはサスペンドされている必要がある。
例外: IllegalThreadStateException
スレッドがサスペンドされていない場合。
 o join
  public final synchronized void join(long millis) throws InterruptedException
スレッドが消えるのを待つ。ミリ秒単位でタイムアウトを指定できる。 0ミリ秒のタイムアウトは永久に待つことを 意味する。
パラメータ:
millis - ミリ秒単位での待つ時間
例外: InterruptedException
もう一のスレッドがこのスレッドを中断した。
 o join
  public final synchronized void join(long millis,
                                      int nanos) throws InterruptedException
より正確な時間でスレッドが消えるのを待つ。
例外: InterruptedException
他のスレッドがこのスレッドを中断した。
 o join
  public final void join() throws InterruptedException
このスレッドが消えるのを永久に待つ。
例外: InterruptedException
他ののスレッドがこのスレッドを中断した。
 o dumpStack
  public static void dumpStack()
現在のスレッドのスタックトレースを表示するための デバッグプロシージャ。
参照:
printStackTrace
 o setDaemon
  public final void setDaemon(boolean on)
スレッドデーモンまたはスレッドユーザであるという印をこのスレッドつける。 システムで実行されているのがスレッドデーモンだけであるとき、 Java は終了する。
パラメータ:
on - そのスレッドがスレッドデーモンかどうかを定める
例外: IllegalThreadStateException
スレッドがアクティブである場合。
参照:
isDaemon
 o isDaemon
  public final boolean isDaemon()
スレッドのデーモンフラグを返す。
参照:
setDaemon
 o checkAccess
  public void checkAccess()
現在のスレッドがこのスレッドを変更することが、許されているかどうか調べる。
例外: SecurityException
現在のスレッドがこのスレッドグループをアクセスすることを許されない場合。
 o toString
  public String toString()
スレッドの名前、プライオリティ、スレッドグループを含む、スレッドを 表現する文字列を返す。
オーバーライド:
クラス ObjecttoString

全パッケージ  クラス階層  このパッケージ  前項目  次項目  インデックス

本マニュアルに関する著作権および商標