Unofficial
"CLDC 1.1
+ MIDP 2.0"
API Reference.
(日本語版)

java.lang
クラス Thread

java.lang.Object
  上位を拡張 java.lang.Thread
すべての実装されたインタフェース:
Runnable

public class Thread
extends Object
implements Runnable

スレッドの生成および管理を行うクラスです。 スレッドとは各種リソースを共有した複数の並行処理を実行する機能のことを指します。 Java では言語レベルで複数スレッドの生成および管理をサポートしています。

アプリケーションが新たなスレッドを実装する方法は2つあります。

1つはこの Thread クラスのサブクラスを作り、run() メソッドを実装する方法です。 該当オブジェクトにおいてこのクラスから継承した start() メソッドを呼び出して新しいスレッドを生成します。

もう1つは Runnable インタフェースを実装したクラスを作り、run() メソッドを実装する方法です。 実装オブジェクトをこのクラスのコンストラクタにパラメータで渡し、start() メソッドを呼び出して新しいスレッドを生成します。

いずれの方法でも、start() メソッドはスレッドを起動後に呼び出し元へ直ちに復帰します。

導入されたバージョン:
CLDC 1.0
関連項目:
Runnable, run()

フィールドの概要
static int MAX_PRIORITY
          最高優先順位のスレッドを示す定数です。
static int MIN_PRIORITY
          最低優先順位のスレッドを示す定数です。
static int NORM_PRIORITY
          通常優先順位のスレッドを示す定数です。
 
コンストラクタの概要
Thread()
          スレッドによる処理を行うためにサブクラスで実装した run() メソッドを新規のスレッドを生成して実行するためのオブジェクトを生成します。
Thread(Runnable target)
          スレッドによる処理を行うために Runnable インタフェースを実装したインスタンスをパラメータとして受け取り、そのインスタンスの run() メソッドを新規のスレッドを生成して実行するためのオブジェクトを生成します。
Thread(Runnable target, String name)
          スレッドによる処理を行うために Runnable インタフェースを実装したインスタンスとスレッドの名前をパラメータとして受け取り、そのインスタンスの run() メソッドを新規のスレッドを生成して実行するためのオブジェクトを生成します。
Thread(String name)
          名前を指定して新しい Thread オブジェクトを構築します。
 
メソッドの概要
static int activeCount()
          Java 仮想マシン内で現在アクティブなスレッド数を返します。
static Thread currentThread()
          現在実行中のスレッドの参照インスタンスを返します。
 String getName()
          このスレッドの名前を返します。
 int getPriority()
          スレッドの優先順位を返します。
 void interrupt()
          このスレッドに割り込みを行います。
 boolean isAlive()
          スレッドが実行中か否かを返します。
 void join()
          スレッドが終了するまで待機します。
 void run()
          このインスタンスを生成したコンストラクタが Runnable インタフェースの実装オブジェクトを受け取って生成された場合、そのインスタンスの run() メソッドを呼び出します。
 void setPriority(int priority)
          スレッドの優先順位を設定します。
static void sleep(long ms)
          現在実行中のスレッドを指定されたミリ秒間停止します。
 void start()
          新しいスレッドを生成し、そのスレッドでこのクラスの run() メソッドを実行します。
 String toString()
          スレッドと優先度を含むこのスレッド固有の文字列表現を返します。
static void yield()
          現在実行中のスレッドを一時的に停止し、他のスレッドへ制御権を明渡します。
 
クラス java.lang.Object から継承されたメソッド
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

フィールドの詳細

MIN_PRIORITY

public static final int MIN_PRIORITY
最低優先順位のスレッドを示す定数です。

関連項目:
定数フィールド値

NORM_PRIORITY

public static final int NORM_PRIORITY
通常優先順位のスレッドを示す定数です。 デフォルトで使用される優先順位です。

関連項目:
定数フィールド値

MAX_PRIORITY

public static final int MAX_PRIORITY
最高優先順位のスレッドを示す定数です。

関連項目:
定数フィールド値
コンストラクタの詳細

Thread

public Thread()
スレッドによる処理を行うためにサブクラスで実装した run() メソッドを新規のスレッドを生成して実行するためのオブジェクトを生成します。 サブクラスのスレッド処理は run() メソッドをオーバーライドして記述し、スレッドの起動は start() メソッドによって行います。


Thread

public Thread(Runnable target)
スレッドによる処理を行うために Runnable インタフェースを実装したインスタンスをパラメータとして受け取り、そのインスタンスの run() メソッドを新規のスレッドを生成して実行するためのオブジェクトを生成します。 実装オブジェクトのスレッド処理は start() メソッドによって起動します。

パラメータ:
target - スレッドとして起動する実装オブジェクトを渡します。

Thread

public Thread(String name)
名前を指定して新しい Thread オブジェクトを構築します。 サブクラスのスレッド処理は run() メソッドをオーバーライドして記述し、スレッドの起動は start() メソッドによって行います。

パラメータ:
name - スレッドの名前を渡します。
導入されたバージョン:
CLDC 1.1

Thread

public Thread(Runnable target,
              String name)
スレッドによる処理を行うために Runnable インタフェースを実装したインスタンスとスレッドの名前をパラメータとして受け取り、そのインスタンスの run() メソッドを新規のスレッドを生成して実行するためのオブジェクトを生成します。 実装オブジェクトのスレッド処理は start() メソッドによって起動します。

パラメータ:
target - スレッドとして起動する実装オブジェクトを渡します。
name - スレッドの名前を渡します。
導入されたバージョン:
CLDC 1.1
メソッドの詳細

currentThread

public static Thread currentThread()
現在実行中のスレッドの参照インスタンスを返します。

戻り値:
現在実行中のスレッドの参照インスタンスを返します。

yield

public static void yield()
現在実行中のスレッドを一時的に停止し、他のスレッドへ制御権を明渡します。


sleep

public static void sleep(long ms)
                  throws InterruptedException
現在実行中のスレッドを指定されたミリ秒間停止します。 スレッドはモニターの所有権を保持しつづけます。

パラメータ:
ms - 停止する時間をミリ秒単位で渡します。
例外:
InterruptedException - いずれかのスレッドが現在のスレッドに割り込んだ場合に throw します。この例外が throw されると、現在のスレッドの割り込みステータスはクリアされます。
関連項目:
Object.notify(), Object.wait()

start

public void start()
新しいスレッドを生成し、そのスレッドでこのクラスの run() メソッドを実行します。 これにより現在のスレッドと平行して実行される新たな処理を起動することになります。

例外:
IllegalThreadStateException - スレッドが既に起動中の場合に throw します。

run

public void run()
このインスタンスを生成したコンストラクタが Runnable インタフェースの実装オブジェクトを受け取って生成された場合、そのインスタンスの run() メソッドを呼び出します。 そうではない場合はこのメソッドは処理を何もせずに終了します。

定義:
インタフェース Runnable 内の run
関連項目:
Runnable.run(), start()

isAlive

public final boolean isAlive()
スレッドが実行中か否かを返します。 スレッドが起動されて終了するまでの間、true を返します。

戻り値:
スレッドが実行中であれば true を、そうでなければ false を返します。

setPriority

public final void setPriority(int priority)
スレッドの優先順位を設定します。

パラメータ:
priority - 新たに設定する優先順位を渡します。
例外:
IllegalArgumentException - priorityMIN_PRIORITYMAX_PRIORITY の範囲外の場合に throw します。
関連項目:
getPriority(), MIN_PRIORITY, NORM_PRIORITY, MAX_PRIORITY

getPriority

public final int getPriority()
スレッドの優先順位を返します。

戻り値:
現在の優先順位を返します。
関連項目:
setPriority(int), MIN_PRIORITY, NORM_PRIORITY, MAX_PRIORITY

activeCount

public static int activeCount()
Java 仮想マシン内で現在アクティブなスレッド数を返します。

戻り値:
現在アクティブなスレッド数を返します。

join

public final void join()
                throws InterruptedException
スレッドが終了するまで待機します。

例外:
InterruptedException - いずれかのスレッドが現在のスレッドに割り込んだ場合に throw します。この例外が throw されると、現在のスレッドの割り込みステータスはクリアされます。

toString

public String toString()
スレッドと優先度を含むこのスレッド固有の文字列表現を返します。

オーバーライド:
クラス Object 内の toString
戻り値:
このスレッドの文字列表現を返します。

getName

public final String getName()
このスレッドの名前を返します。 CLDC では、スレッドを作成するときに限ってスレッドの名前を設定できることに注目してください。

戻り値:
このスレッドの名前を返します。
導入されたバージョン:
CLDC 1.1

interrupt

public void interrupt()

このスレッドに割り込みを行います。 CLDC 仕様に従う実装では、この操作はスレッドが待っているどのような不確定の入出力動作の取り消しまたはクリーンナップを必要とはしません。

導入されたバージョン:
CLDC 1.1

Unofficial
"CLDC 1.1
+ MIDP 2.0"
API Reference.
(日本語版)

公式仕様書原文の著作権表記等(※):

Mobile Information Device Profile Specification ("Specification")
Version: 2.0
Status: FCS
Release: November 5, 2002

Copyright 2002 Sun Microsystems, Inc. and Motorola, Inc.
All rights reserved.
※ただしこの API リファレンスは英語仕様を一語一句正確に翻訳したものではなく、一度私が英語の仕様原文を読んだ上で元の意味と構造をなるべく保つように書き起こしたものです。このため一部は完全に異なる説明となっています。また CLDC 1.1 部分は同仕様の範囲外であるため、まったく参考とはしていません。

※仕様書のライセンス上、問題は無いと考えておりますが、万が一問題があるとお考えの関係者の方がいらっしゃいましたらメールにて連絡をいただけると幸いに存じます(第一言語に日本語、第二言語に英語を希望しますが、返信は基本的に日本語で行います)。

この API リファレンスは仕様書の日本語版という位置づけでは作成していませんし、仕様書ほど厳格でもありません。MUST、SHOULD、MAY などの仕様の条件を強調する文を維持していません(反映すらしていない個所もあります)。仮想マシンおよび MIDP の実装のために使用することは避けてください。そのような用途には必ず公式仕様書原文そのものを用いるべきです。
この API リファレンスに記載されている内容は"さかきけい"が Sun Microsystems, Inc や Motorola, Inc、Java Community Process が公開している各種公式資料を元に、独自に調査・編集したものであり、Sun Microsystems, Inc や Motorola, Inc、Java Community Process 等とは一切関係ありません。したがってこの API リファレンスに関する問い合わせを関係各社等に対して行うことを固く禁じます。
また、記載された内容には既知か否かに関らず誤りが含まれる可能性があり、一切保証はありません。本 API リファレンスを使用した結果、不利益が生じたとしても"さかきけい"は一切の責任を負いません。
許可無く公開/非公開および Internet/Intranet/LAN を問わず他サイトに転載すること、複写および複製すること、ローカル・ファイル等に保存することを禁じます。


Copyright© 2001-2002,2005-2009,2011 by KEI SAKAKI.
ALL RIGHTS RESERVED.
無断転載を禁じます。

Unofficial "CLDC 1.0 + MIDP 1.0" API Reference はこちらです。