Thread クラス

定義

スレッドとは、プログラム内で実行されるスレッドです。

[Android.Runtime.Register("java/lang/Thread", DoNotGenerateAcw=true)]
public class Thread : Java.Lang.Object, IDisposable, 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>クラス exitRuntime メソッドが呼び出され、セキュリティ マネージャーが終了操作の実行を許可するまで、スレッドを実行し続けます。 <li>デーモン スレッドではないすべてのスレッドは、 run メソッドの呼び出しから戻るか、 run メソッドを超えて伝播する例外をスローすることによって、停止しました。 </ul>

新しい実行スレッドを作成するには、2 つの方法があります。 1 つは、クラスを Thread のサブクラスとして宣言することです。 このサブクラスは、クラス runThread メソッドをオーバーライドする必要があります。 その後、サブクラスのインスタンスを割り当てて開始できます。 たとえば、指定された値より大きい素数を計算するスレッドは、次のように記述できます: <hr><blockquote>

class PrimeThread extends Thread {
                    long minPrime;
                    PrimeThread(long minPrime) {
                        this.minPrime = minPrime;
                    }

                    public void run() {
                        // compute primes larger than minPrime
                        &nbsp;.&nbsp;.&nbsp;.
                    }
                }

</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
                        &nbsp;.&nbsp;.&nbsp;.
                    }
                }

</blockquote><hr>

次のコードでは、スレッドを作成して実行を開始します。 <blockquote>

PrimeRun p = new PrimeRun(143);
                new Thread(p).start();

</blockquote>

すべてのスレッドには、識別用の名前があります。 複数のスレッドが同じ名前を持つ場合があります。 スレッドの作成時に名前が指定されていない場合は、新しい名前が生成されます。

特に明記されていない限り、このクラスのコンストラクターまたはメソッドに null 引数を渡すと、 NullPointerException がスローされます。

1.0 で追加されました。

Javaドキュメント。

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

コンストラクター

名前 説明
Thread()

新しい Thread オブジェクトを割り当てます。

Thread(Action, String)

Threadの新しいインスタンスを初期化します。

Thread(Action)

Threadの新しいインスタンスを初期化します。

Thread(IntPtr, JniHandleOwnership)

JNI オブジェクトのマネージド表現を作成するときに使用されるコンストラクター。ランタイムによって呼び出されます。

Thread(IRunnable, String)

新しい Thread オブジェクトを割り当てます。

Thread(IRunnable)

新しい Thread オブジェクトを割り当てます。

Thread(String)

新しい Thread オブジェクトを割り当てます。

Thread(ThreadGroup, Action, String, Int64)

Threadの新しいインスタンスを初期化します。

Thread(ThreadGroup, Action, String)

Threadの新しいインスタンスを初期化します。

Thread(ThreadGroup, Action)

Threadの新しいインスタンスを初期化します。

Thread(ThreadGroup, IRunnable, String, Int64, Boolean)

新しいThread オブジェクトを割り当てて、実行オブジェクトとしてtargetし、指定したnameを名前として持ち、groupによって参照されるスレッド グループに属し、指定されたstackSizeを持ち、継承可能なスレッド ローカル変数の初期値を継承inheritThreadLocalstrue

Thread(ThreadGroup, IRunnable, String, Int64)

新しい Thread オブジェクトを、実行オブジェクトとして target し、指定した name を名前として持ち、 groupによって参照されるスレッド グループに属し、指定された スタック サイズになるように割り当てます。

Thread(ThreadGroup, IRunnable, String)

新しい Thread オブジェクトを、実行オブジェクトとして target し、指定した name を名前として持ち、 groupによって参照されるスレッド グループに属するように割り当てます。

Thread(ThreadGroup, IRunnable)

新しい Thread オブジェクトを割り当てます。

Thread(ThreadGroup, String)

新しい Thread オブジェクトを割り当てます。

フィールド

名前 説明
MaxPriority

スレッドに割り当てることができる最大優先度。

MinPriority

スレッドに割り当てることができる最小優先度。

NormPriority

スレッドに割り当てられる既定の優先度。

プロパティ

名前 説明
AllStackTraces

すべてのライブ スレッドのスタック トレースのマップを返します。

Class

この Objectのランタイム クラスを返します。

(継承元 Object)
ContextClassLoader

このスレッドのコンテキスト ClassLoader を返します。 または、このスレッドのコンテキスト ClassLoader を設定します。

Daemon

このスレッドがデーモン スレッドであるかどうかをテストします。

DefaultUncaughtExceptionHandler

キャッチされない例外が原因でスレッドが突然終了したときに呼び出される既定のハンドラーを返します。 または、キャッチされない例外が原因でスレッドが突然終了し、そのスレッドに対して他のハンドラーが定義されていない場合に呼び出される既定のハンドラーを設定します。

Handle

基になる Android インスタンスへのハンドル。

(継承元 Object)
Id

このスレッドの識別子を返します。

IsAlive

このスレッドが有効かどうかをテストします。

IsInterrupted

このスレッドが中断されたかどうかをテストします。

IsVirtual

このスレッドが仮想スレッドの場合は、 true を返します。

JniIdentityHashCode

相互運用ランタイムによってこのJava ピアに割り当てられた ID ハッシュ コードを取得します。

(継承元 Object)
JniManagedPeerState

スレッドとは、プログラム内で実行されるスレッドです。

(継承元 JavaObject)
JniPeerMembers

このJava ピアのメンバーを呼び出すために使用される JNI メタデータを取得します。

Name

このスレッドの名前を返します。 または、このスレッドの名前を引数 nameと等しくなるように変更します。

PeerReference

このJava ピアの JNI オブジェクト参照を取得します。

(継承元 Object)
Priority

このスレッドの優先度を返します。

ThreadGroup

このスレッドが属するスレッド グループを返します。

ThresholdClass

この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。

ThresholdType

この API は Android 用 Mono インフラストラクチャをサポートしており、コードから直接使用するためのものではありません。

UncaughtExceptionHandler

キャッチされない例外が原因でこのスレッドが突然終了したときに呼び出されたハンドラーを返します。 または、キャッチされない例外が原因でこのスレッドが突然終了したときに呼び出されるハンドラーを設定します。

メソッド

名前 説明
ActiveCount()

現在のスレッドの java 内のアクティブなスレッドの数の推定値を返します。

CheckAccess()

現在実行中のスレッドに、このスレッドを変更するアクセス許可があるかどうかを判断します。

Clone()

このオブジェクトのコピーを作成して返します。

(継承元 Object)
Construct(JniObjectReference, JniObjectReferenceOptions)

スレッドとは、プログラム内で実行されるスレッドです。

(継承元 JavaObject)
CountStackFrames()
古い.

UnsupportedOperationException をスローします。

CurrentThread()

現在実行中のスレッド オブジェクトへの参照を返します。

Destroy()
古い.

UnsupportedOperationException をスローします。

Dispose()

このJava ピアによって保持されているリソースを解放します。

(継承元 Object)
Dispose(Boolean)

このJava ピアによって保持されているリソースを解放します。

(継承元 Object)
DisposeUnlessReferenced()

スレッドとは、プログラム内で実行されるスレッドです。

(継承元 JavaObject)
DumpStack()

現在のスレッドのスタック トレースを標準エラー ストリームに出力します。

Enumerate(Thread[])

現在のスレッドのスレッド グループとそのサブグループ内のすべてのアクティブ スレッドを、指定した配列にコピーします。

Equals(Object)

スレッドとは、プログラム内で実行されるスレッドです。

(継承元 JavaObject)
Equals(Object)

他のオブジェクトがこのオブジェクトと "等しい" かどうかを示します。

(継承元 Object)
GetHashCode()

オブジェクトのハッシュ コード値を返します。

(継承元 Object)
GetStackTrace()

このスレッドのスタック ダンプを表すスタック トレース要素の配列を返します。

GetState()

このスレッドの状態を返します。

HoldsLock(Object)

現在のスレッドが指定したオブジェクトのモニター ロックを保持している場合にのみ、 true を返します。

Interrupt()

このスレッドを中断します。

Interrupted()

現在のスレッドが中断されているかどうかをテストします。

JavaFinalize()

オブジェクトへの参照がなくなったとガベージ コレクションによって判断されたときに、オブジェクトのガベージ コレクターによって呼び出されます。

(継承元 Object)
Join()

このスレッドが死ぬまで待機します。

Join(Int64, Int32)

このスレッドが死ぬまで、最大 millis ミリ秒 nanos ナノ秒を加えて待機します。

Join(Int64)

このスレッドが死ぬまで最大 millis ミリ秒待ちます。

Notify()

このオブジェクトのモニターで待機している 1 つのスレッドを起動します。

(継承元 Object)
NotifyAll()

このオブジェクトのモニターで待機しているすべてのスレッドを起動します。

(継承元 Object)
OnSpinWait()

他のアクティビティの一部で 1 つ以上のアクションが発生するまで、呼び出し元が一時的に進行できないことを示します。

Resume()
古い.

UnsupportedOperationException をスローします。

Run()

このスレッドが別の Runnable 実行オブジェクトを使用して構築された場合、その Runnable オブジェクトの run メソッドが呼び出されます。それ以外の場合、このメソッドは何も実行せず、返します。

SetHandle(IntPtr, JniHandleOwnership)

Handle プロパティを設定します。

(継承元 Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

スレッドとは、プログラム内で実行されるスレッドです。

(継承元 JavaObject)
Sleep(Int64, Int32)

システム タイマーとスケジューラの精度と精度に従って、現在実行中のスレッドを、指定したミリ秒数と指定したナノ秒数を加算してスリープ状態 (一時的に実行を停止) させます。

Sleep(Int64)

現在実行中のスレッドを、システム タイマーとスケジューラの精度と精度に従って、指定されたミリ秒数だけスリープ状態 (一時的に実行を停止) させます。

Start()

このスレッドが実行を開始します。Java仮想マシンは、このスレッドのrun メソッドを呼び出します。

Stop()
古い.

UnsupportedOperationException をスローします。

Stop(Throwable)
古い.

UnsupportedOperationException をスローします。

Suspend()
古い.

UnsupportedOperationException をスローします。

ThreadId()

このスレッドの識別子を返します。

ToArray<T>()

このJava配列ラッパーからマネージド配列を作成します。

(継承元 Object)
ToString()

オブジェクトの文字列形式を返します。

(継承元 Object)
UnregisterFromRuntime()

相互運用ランタイムからこのJava ピアの登録を解除します。

(継承元 Object)
Wait()

現在のスレッドが起動するまで待機します。通常は、 <em>notified</em> または <em>interrupted</em>。

(継承元 Object)
Wait(Int64, Int32)

現在のスレッドは、通常、 <em>notified</em> または <em>interrupted</em>、または一定のリアルタイムが経過するまで、起動されるまで待機します。

(継承元 Object)
Wait(Int64)

現在のスレッドは、通常、 <em>notified</em> または <em>interrupted</em>、または一定のリアルタイムが経過するまで、起動されるまで待機します。

(継承元 Object)
Yield()

現在のスレッドがプロセッサの現在の使用を開始する予定であることをスケジューラに示すヒント。

明示的なインターフェイスの実装

名前 説明
IJavaPeerable.Disposed()

スレッドとは、プログラム内で実行されるスレッドです。

(継承元 JavaObject)
IJavaPeerable.Finalized()

スレッドとは、プログラム内で実行されるスレッドです。

(継承元 JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

スレッドとは、プログラム内で実行されるスレッドです。

(継承元 JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

スレッドとは、プログラム内で実行されるスレッドです。

(継承元 JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

スレッドとは、プログラム内で実行されるスレッドです。

(継承元 JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

スレッドとは、プログラム内で実行されるスレッドです。

(継承元 JavaObject)
IJavaPeerable.UnregisterFromRuntime()

スレッドとは、プログラム内で実行されるスレッドです。

拡張メソッド

名前 説明
GetJniTypeName(IJavaPeerable)

インスタンス selfの型の JNI 名を取得します。

JavaAs<TResult>(IJavaPeerable)

selfを強制的にTResult入力し、強制型がJava側で有効であることを確認します。

JavaCast<TResult>(IJavaObject)

Android ランタイムチェック型変換を実行します。

JavaCast<TResult>(IJavaObject)

スレッドとは、プログラム内で実行されるスレッドです。

TryJavaCast<TResult>(IJavaPeerable, TResult)

selfを強制的にTResult入力し、強制型がJava側で有効であることを確認します。

適用対象