Language

ThreadLocal クラス

定義

このクラスは、スレッド ローカル変数を提供します。

[Android.Runtime.Register("java/lang/ThreadLocal", DoNotGenerateAcw=true)]
[Java.Interop.JavaTypeParameters(new System.String[] { "T" })]
public class ThreadLocal : Java.Lang.Object
[<Android.Runtime.Register("java/lang/ThreadLocal", DoNotGenerateAcw=true)>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "T" })>]
type ThreadLocal = class
    inherit Object
継承
ThreadLocal
派生
属性

注釈

このクラスは、スレッド ローカル変数を提供します。 これらの変数は、(その get または set メソッドを介して) 1つにアクセスする各スレッドが独自に初期化された変数のコピーを持つという点で、通常の対応する変数とは異なります。 ThreadLocal インスタンスは通常、状態をスレッド (ユーザー ID やトランザクション ID など) に関連付けるクラスのプライベート静的フィールドです。

たとえば、次のクラスでは、各スレッドに対してローカルな一意の識別子が生成されます。 スレッドの ID は、 ThreadId.get() を初めて呼び出す際に割り当てられ、後続の呼び出しでは変更されません。

import java.util.concurrent.atomic.AtomicInteger;

            public class ThreadId {
                // Atomic integer containing the next thread ID to be assigned
                private static final AtomicInteger nextId = new AtomicInteger(0);

                // Thread local variable containing each thread's ID
                private static final ThreadLocal&lt;Integer&gt; threadId =
                    new ThreadLocal&lt;Integer&gt;() {
                        &#64;Override protected Integer initialValue() {
                            return nextId.getAndIncrement();
                    }
                };

                // Returns the current thread's unique ID, assigning it if necessary
                public static int get() {
                    return threadId.get();
                }
            }

各スレッドは、スレッドが有効であり、 ThreadLocal インスタンスにアクセスできる限り、スレッドローカル変数のコピーへの暗黙的な参照を保持します。スレッドが離れた後、スレッドローカル インスタンスのすべてのコピーはガベージ コレクションの対象になります (これらのコピーへの他の参照が存在しない限り)。

1.2 で追加されました。

Javaドキュメント。

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

コンストラクター

名前 説明
ThreadLocal()

スレッド ローカル変数を作成します。

ThreadLocal(IntPtr, JniHandleOwnership)

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

プロパティ

名前 説明
Class

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

(継承元 Object)
Handle

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

(継承元 Object)
JniIdentityHashCode

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

(継承元 Object)
JniManagedPeerState

このクラスは、スレッド ローカル変数を提供します。

(継承元 JavaObject)
JniPeerMembers

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

PeerReference

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

(継承元 Object)
ThresholdClass

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

ThresholdType

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

メソッド

名前 説明
Clone()

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

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

このクラスは、スレッド ローカル変数を提供します。

(継承元 JavaObject)
Dispose()

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

(継承元 Object)
Dispose(Boolean)

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

(継承元 Object)
DisposeUnlessReferenced()

このクラスは、スレッド ローカル変数を提供します。

(継承元 JavaObject)
Equals(Object)

このクラスは、スレッド ローカル変数を提供します。

(継承元 JavaObject)
Equals(Object)

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

(継承元 Object)
Get()

現在のスレッドのこのスレッド ローカル変数のコピー内の値を返します。

GetHashCode()

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

(継承元 Object)
InitialValue()

このスレッド ローカル変数の現在のスレッドの "初期値" を返します。

JavaFinalize()
古い.

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

(継承元 Object)
Notify()

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

(継承元 Object)
NotifyAll()

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

(継承元 Object)
Remove()

このスレッド ローカル変数の現在のスレッドの値を削除します。

Set(Object)

このスレッドローカル変数の現在のスレッドのコピーを指定した値に設定します。

SetHandle(IntPtr, JniHandleOwnership)

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

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

このクラスは、スレッド ローカル変数を提供します。

(継承元 JavaObject)
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)
WithInitial(ISupplier)

スレッド ローカル変数を作成します。

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

名前 説明
IJavaPeerable.Disposed()

このクラスは、スレッド ローカル変数を提供します。

(継承元 JavaObject)
IJavaPeerable.Finalized()

このクラスは、スレッド ローカル変数を提供します。

(継承元 JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

このクラスは、スレッド ローカル変数を提供します。

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

このクラスは、スレッド ローカル変数を提供します。

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

このクラスは、スレッド ローカル変数を提供します。

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

このクラスは、スレッド ローカル変数を提供します。

(継承元 JavaObject)

拡張メソッド

名前 説明
GetJniTypeName(IJavaPeerable)

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

JavaAs<TResult>(IJavaPeerable)

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

JavaCast<TResult>(IJavaObject)

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

JavaCast<TResult>(IJavaObject)

このクラスは、スレッド ローカル変数を提供します。

TryJavaCast<TResult>(IJavaPeerable, TResult)

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

適用対象