LocalDataStoreSlot クラス


ローカル データを格納するメモリ スロットをカプセル化します。Encapsulates a memory slot to store local data. このクラスは継承できません。This class cannot be inherited.

public ref class LocalDataStoreSlot sealed
public sealed class LocalDataStoreSlot
public sealed class LocalDataStoreSlot
type LocalDataStoreSlot = class
type LocalDataStoreSlot = class
Public NotInheritable Class LocalDataStoreSlot


.NET Framework には、スレッドローカルストレージ (TLS) を使用するための2つのメカニズム (スレッド相対静的フィールドとデータスロット) が用意されています。The .NET Framework provides two mechanisms for using thread local storage (TLS): thread-relative static fields, and data slots.

  • スレッド相対静的フィールドは static Shared 、属性でマークされたフィールド (Visual Basic 内のフィールド) です ThreadStaticAttributeThread-relative static fields are static fields (Shared fields in Visual Basic) that are marked with the ThreadStaticAttribute attribute. データスロットより優れたパフォーマンスを提供し、コンパイル時の型チェックを有効にします。They provide better performance than data slots, and enable compile-time type checking.

  • データスロットは、スレッド相対静的フィールドよりも低速で使いにくい。Data slots are slower and more awkward to use than thread-relative static fields. また、データは型として格納さ Object れるため、使用する前に正しい型にキャストする必要があります。Also, data is stored as type Object, so you must cast it to the correct type before using it. ただし、コンパイル時に静的フィールドを割り当てるのに十分な情報がない場合は、データスロットを使用できます。However, you can use data slots when you have insufficient information at compile time to allocate static fields.

TLS の使用の詳細については、「 Thread Local Storage: Thread-Relative の静的フィールドとデータスロット」を参照してください。For more information about using TLS, see Thread Local Storage: Thread-Relative Static Fields and Data Slots.

同様に、.NET Framework にはコンテキストローカルストレージを使用するための2つのメカニズムがあります。コンテキスト相対静的フィールドとデータスロットです。Similarly, the .NET Framework provides two mechanisms for using context local storage: context-relative static fields and data slots. コンテキスト相対静的フィールドは、属性でマークされた静的フィールドです ContextStaticAttributeContext-relative static fields are static fields that are marked with the ContextStaticAttribute attribute. これら2つのメカニズムを使用する間のトレードオフは、スレッド相対静的フィールドとデータスロットを使用する場合のトレードオフに似ています。The trade-offs between using these two mechanisms are similar to the tradeoffs between using thread-relative static fields and data slots.

この LocalDataStoreSlot 構造体は、スレッドとコンテキストがスレッド固有のデータとコンテキスト固有のデータを格納するために使用できるローカルストアのメモリ機構として機能します。The LocalDataStoreSlot structure serves as a local store memory mechanism that threads and contexts can use to store thread-specific and context-specific data, respectively. 共通言語ランタイムは、作成時に各プロセスに複数スロットのデータストア配列を割り当てます。The common language runtime allocates a multi-slot data store array to each process when it is created. スレッドまたはコンテキストは、データストアにデータスロットを割り当てたり、スロットにデータ値を格納および取得したり、スレッドまたはコンテキストオブジェクトの有効期限が切れた後で再利用できるようにデータスロットを解放したりするために、さまざまな関数を呼び出します。The thread or context calls various functions to allocate a data slot in the data store, to store and retrieve a data value in the slot, and to free a data slot for reuse after the thread or context object expires.

データスロットはスレッドまたはコンテキストごとに一意です。これらの値は、スレッドまたはコンテキストオブジェクト間で共有されません。The data slots are unique per thread or context; their values are not shared between the thread or context objects. データスロットは、名前またはインデックス番号によって割り当てることができます。Data slots can be allocated by a name or by an index number.

ローカルデータの格納の詳細については、「」または「」を参照してください Thread ContextFor more information about storing local data, see Thread or Context. クラスは、、、、などの LocalDataStoreSlot メソッドで使用されます。 Thread.AllocateNamedDataSlot Context.AllocateNamedDataSlot Thread.GetData Context.GetData 独自のメソッドを使用する必要はありません。The LocalDataStoreSlot class is used with methods such as Thread.AllocateNamedDataSlot, Context.AllocateNamedDataSlot, Thread.GetData, and Context.GetData; it does not have any methods of its own that you need to use.



指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。Determines whether the specified object is equal to the current object.

(継承元 Object)

ガベージ コレクターが LocalDataStoreSlot オブジェクトを再利用しているときに、リソースが解放され、他のクリーンアップ操作が確実に実行されるようにします。Ensures that resources are freed and other cleanup operations are performed when the garbage collector reclaims the LocalDataStoreSlot object.


既定のハッシュ関数として機能します。Serves as the default hash function.

(継承元 Object)

現在のインスタンスの Type を取得します。Gets the Type of the current instance.

(継承元 Object)

現在の Object の簡易コピーを作成します。Creates a shallow copy of the current Object.

(継承元 Object)

現在のオブジェクトを表す文字列を返します。Returns a string that represents the current object.

(継承元 Object)