Thread クラス
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
スレッドは、プログラム内の実行スレッドです。
[Android.Runtime.Register("java/lang/Thread", DoNotGenerateAcw=true)]
public class Thread : Java.Lang.Object, IDisposable, Java.Interop.IJavaPeerable, Java.Lang.IRunnable
[<Android.Runtime.Register("java/lang/Thread", DoNotGenerateAcw=true)>]
type Thread = class
inherit Object
interface IRunnable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
- 継承
- 派生
- 属性
- 実装
注釈
スレッドとは、プログラム内で実行されるスレッドです。 Java 仮想マシンを使用すると、アプリケーションで複数の実行スレッドを同時に実行できます。
すべてのスレッドに優先順位があります。 優先度の高いスレッドは、優先順位の低いスレッドよりも優先して実行されます。 各スレッドは、デーモンとしてマークされる場合とそうでない場合もあります。 一部のスレッドで実行されているコードが新 Thread
しいオブジェクトを作成すると、新しいスレッドの優先度は最初は作成スレッドの優先度と同じに設定され、作成スレッドがデーモンの場合にのみデーモン スレッドになります。
Java 仮想マシンが起動すると、通常、デーモン以外のスレッドが 1 つ存在します (通常は、指定されたクラスの名前の main
メソッドを呼び出します)。 Java 仮想マシンは、ul <><li>クラスRuntime
のメソッドがexit
呼び出され、セキュリティ マネージャーが終了操作の実行を許可するまで、スレッドを実行し続けます。 <li>デーモン スレッドではないすべてのスレッドが、メソッドの呼び出し run
から返されるか、 メソッドを超えて run
伝達される例外をスローすることによって、停止しました。 </ul>
実行の新しいスレッドを作成するには、2 つの方法があります。 1 つは、 クラスを の Thread
サブクラスとして宣言することです。 このサブクラスは、 クラス Thread
の メソッドをrun
オーバーライドする必要があります。 その後、サブクラスのインスタンスを割り当て、開始できます。 たとえば、指定された値より大きい素数を計算するスレッドは、hr><blockquote のように<記述できます。>
class PrimeThread extends Thread {
long minPrime;
PrimeThread(long minPrime) {
this.minPrime = minPrime;
}
public void run() {
// compute primes larger than minPrime
. . .
}
}
</blockquote><hr>
次のコードでは、スレッドを作成して実行を開始します。 <blockquote>
PrimeThread p = new PrimeThread(143);
p.start();
</blockquote>
スレッドを作成するもう 1 つの方法は、 インターフェイスを実装するクラスを Runnable
宣言することです。 その後、そのクラスは メソッドを run
実装します。 その後、 クラスのインスタンスを割り当て、を作成 Thread
するときに引数として渡して開始できます。 この他のスタイルの同じ例は、hr <><blockquote のようになります。>
class PrimeRun implements Runnable {
long minPrime;
PrimeRun(long minPrime) {
this.minPrime = minPrime;
}
public void run() {
// compute primes larger than minPrime
. . .
}
}
</blockquote><hr>
次のコードでは、スレッドを作成し、実行を開始します。 <blockquote>
PrimeRun p = new PrimeRun(143);
new Thread(p).start();
</blockquote>
すべてのスレッドには、識別目的の名前があります。 複数のスレッドが同じ名前を持つ場合があります。 スレッドの作成時に名前が指定されていない場合は、その名前に対して新しい名前が生成されます。
特に明記されていない限り、このクラスのコンストラクターまたはメソッドに引数を渡 null
すと、 が NullPointerException
スローされます。
1.0 に追加されました。
の Java ドキュメント java.lang.Thread
。
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。
コンストラクター
Thread() |
新 |
Thread(Action) |
スレッドは、プログラム内の実行スレッドです。 |
Thread(Action, String) |
スレッドは、プログラム内の実行スレッドです。 |
Thread(IntPtr, JniHandleOwnership) |
JNI オブジェクトのマネージド表現を作成するときに使用されるコンストラクター。ランタイムによって呼び出されます。 |
Thread(IRunnable) |
新 |
Thread(IRunnable, String) |
新 |
Thread(String) |
新 |
Thread(ThreadGroup, Action) |
スレッドは、プログラム内の実行スレッドです。 |
Thread(ThreadGroup, Action, String) |
スレッドは、プログラム内の実行スレッドです。 |
Thread(ThreadGroup, Action, String, Int64) |
スレッドは、プログラム内の実行スレッドです。 |
Thread(ThreadGroup, IRunnable) |
新 |
Thread(ThreadGroup, IRunnable, String) |
新 |
Thread(ThreadGroup, IRunnable, String, Int64) |
新 |
Thread(ThreadGroup, IRunnable, String, Int64, Boolean) |
新しいオブジェクトを |
Thread(ThreadGroup, String) |
新 |
フィールド
MaxPriority |
スレッドが保持できる最大優先度。 |
MinPriority |
スレッドが持ち得る最小優先度。 |
NormPriority |
スレッドに割り当てられる既定の優先度。 |
プロパティ
AllStackTraces |
すべてのライブ スレッドのスタック トレースのマップを返します。 |
Class |
この |
ContextClassLoader |
このスレッドのコンテキスト |
Daemon |
このスレッドがデーモン スレッドであるかどうかをテストします。 または、このスレッドを #isDaemon デーモン スレッドまたはユーザー スレッドとしてマークします。 |
DefaultUncaughtExceptionHandler |
キャッチされない例外が原因でスレッドが突然終了したときに呼び出される既定のハンドラーを返します。 または、キャッチされない例外が原因でスレッドが突然終了し、そのスレッドに対して他のハンドラーが定義されていない場合に呼び出される既定のハンドラーを設定します。 |
Handle |
基になる Android インスタンスへのハンドル。 (継承元 Object) |
Id |
このスレッドの識別子を返します。 |
IsAlive |
このスレッドが有効かどうかをテストします。 |
IsInterrupted |
このスレッドが中断されているかどうかをテストします。 |
JniIdentityHashCode |
スレッドは、プログラム内の実行スレッドです。 (継承元 Object) |
JniPeerMembers |
スレッドは、プログラム内の実行スレッドです。 |
Name |
このスレッドの名前を返します。 または、このスレッドの名前を引数 |
PeerReference |
スレッドは、プログラム内の実行スレッドです。 (継承元 Object) |
Priority |
このスレッドの優先度を返します。 または、このスレッドの優先度を変更します。 |
ThreadGroup |
このスレッドが属するスレッド グループを返します。 |
ThresholdClass |
この API は Mono for Android インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。 |
ThresholdType |
この API は Mono for Android インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。 |
UncaughtExceptionHandler |
キャッチされない例外が原因でこのスレッドが突然終了したときに呼び出されたハンドラーを返します。 または、キャッチされない例外が原因でこのスレッドが突然終了したときに呼び出されるハンドラーを設定します。 |
メソッド
ActiveCount() |
現在のスレッドの java 内のアクティブなスレッドの数の見積もりを返します。 |
CheckAccess() |
現在実行中のスレッドに、このスレッドを変更するアクセス許可があるかどうかを判断します。 |
Clone() |
このオブジェクトのコピーを作成して返します。 (継承元 Object) |
CountStackFrames() |
古い.
このスレッド内のスタック フレームの数をカウントします。 |
CurrentThread() |
現在実行中のスレッド オブジェクトへの参照を返します。 |
Destroy() |
古い.
|
Dispose() |
スレッドは、プログラム内の実行スレッドです。 (継承元 Object) |
Dispose(Boolean) |
スレッドは、プログラム内の実行スレッドです。 (継承元 Object) |
DumpStack() |
現在のスレッドのスタック トレースを標準エラー ストリームに出力します。 |
Enumerate(Thread[]) |
現在のスレッドのスレッド グループとそのサブグループ内のすべてのアクティブスレッドを、指定した配列にコピーします。 |
Equals(Object) |
他のオブジェクトがこのオブジェクトと "等しい" かどうかを示します。 (継承元 Object) |
GetHashCode() |
オブジェクトのハッシュ コード値を返します。 (継承元 Object) |
GetStackTrace() |
このスレッドのスタック ダンプを表すスタック トレース要素の配列を返します。 |
GetState() |
このスレッドの状態を返します。 |
HoldsLock(Object) |
現在のスレッドが |
Interrupt() |
このスレッドを中断します。 |
Interrupted() |
現在のスレッドが中断されているかどうかをテストします。 |
JavaFinalize() |
オブジェクトへの参照がなくなったとガベージ コレクションが判断したときに、オブジェクトのガベージ コレクターによって呼び出されます。 (継承元 Object) |
Join() |
このスレッドが終了するまで待機します。 |
Join(Int64) |
このスレッドが |
Join(Int64, Int32) |
このスレッドが終了するまで、最大 |
Notify() |
このオブジェクトのモニターで待機している 1 つのスレッドを起動します。 (継承元 Object) |
NotifyAll() |
このオブジェクトのモニターで待機しているすべてのスレッドを起動します。 (継承元 Object) |
OnSpinWait() |
他のアクティビティの一部で 1 つ以上のアクションが発生するまで、呼び出し元が一時的に進行できないことを示します。 |
Resume() |
古い.
|
Run() |
このスレッドが別 |
SetHandle(IntPtr, JniHandleOwnership) |
Handle プロパティを設定します。 (継承元 Object) |
Sleep(Int64) |
現在実行中のスレッドが、システム タイマーとスケジューラの精度と精度に従って、指定されたミリ秒数だけスリープ状態 (一時的に実行を停止) します。 |
Sleep(Int64, Int32) |
現在実行中のスレッドが、システム タイマーとスケジューラの精度と精度に従って、指定されたミリ秒と指定されたナノ秒数を加算してスリープ状態 (一時的に実行を停止) します。 |
Start() |
このスレッドが実行を開始します。Java 仮想マシンは、このスレッドの メソッドを |
Stop() |
古い.
|
Stop(Throwable) |
古い.
|
Suspend() |
古い.
|
ToArray<T>() |
スレッドは、プログラム内の実行スレッドです。 (継承元 Object) |
ToString() |
オブジェクトの文字列形式を返します。 (継承元 Object) |
UnregisterFromRuntime() |
スレッドは、プログラム内の実行スレッドです。 (継承元 Object) |
Wait() |
現在のスレッドが起動するまで待機します。通常<は、通知</em> または>< em 中断</em によって待機します>。> (継承元 Object) |
Wait(Int64) |
現在のスレッドが起動するまで待機します。通常<は、通知></em> または <>em 中断</em>、または特定のリアルタイムが経過するまで待機します。 (継承元 Object) |
Wait(Int64, Int32) |
現在のスレッドが起動するまで待機します。通常<は、通知></em> または <>em 中断</em>、または特定のリアルタイムが経過するまで待機します。 (継承元 Object) |
Yield() |
現在のスレッドがプロセッサの現在の使用を実現する予定であることをスケジューラに示すヒント。 |
明示的なインターフェイスの実装
IJavaPeerable.Disposed() |
スレッドは、プログラム内の実行スレッドです。 (継承元 Object) |
IJavaPeerable.DisposeUnlessReferenced() |
スレッドは、プログラム内の実行スレッドです。 (継承元 Object) |
IJavaPeerable.Finalized() |
スレッドは、プログラム内の実行スレッドです。 (継承元 Object) |
IJavaPeerable.JniManagedPeerState |
スレッドは、プログラム内の実行スレッドです。 (継承元 Object) |
IJavaPeerable.SetJniIdentityHashCode(Int32) |
スレッドは、プログラム内の実行スレッドです。 (継承元 Object) |
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
スレッドは、プログラム内の実行スレッドです。 (継承元 Object) |
IJavaPeerable.SetPeerReference(JniObjectReference) |
スレッドは、プログラム内の実行スレッドです。 (継承元 Object) |
拡張メソッド
JavaCast<TResult>(IJavaObject) |
Android ランタイムチェック型変換を実行します。 |
JavaCast<TResult>(IJavaObject) |
スレッドは、プログラム内の実行スレッドです。 |
GetJniTypeName(IJavaPeerable) |
スレッドは、プログラム内の実行スレッドです。 |