LocalDataStoreSlot クラス

定義

ローカル データを格納するメモリ スロットをカプセル化します。 このクラスは継承できません。

public ref class LocalDataStoreSlot sealed
public sealed class LocalDataStoreSlot
[System.Runtime.InteropServices.ComVisible(true)]
public sealed class LocalDataStoreSlot
type LocalDataStoreSlot = class
[<System.Runtime.InteropServices.ComVisible(true)>]
type LocalDataStoreSlot = class
Public NotInheritable Class LocalDataStoreSlot
継承
LocalDataStoreSlot
属性

注釈

.NET Frameworkには、スレッド ローカル ストレージ (TLS) を使用するための 2 つのメカニズム (スレッド相対静的フィールドとデータ スロット) が用意されています。

  • スレッド相対静的フィールドは、static属性でマークされているフィールド (SharedVisual Basic内のThreadStaticAttributeフィールド) です。 データ スロットよりも優れたパフォーマンスを提供し、コンパイル時の型チェックを有効にします。

  • データ スロットは、スレッド相対静的フィールドよりも低速で使いにくいです。 また、データは型 Objectとして格納されるため、使用する前に正しい型にキャストする必要があります。 ただし、コンパイル時に静的フィールドを割り当てるのに十分な情報がない場合は、データ スロットを使用できます。

TLS の使用の詳細については、「スレッド ローカル Storage: 静的フィールドとデータ スロットのThread-Relative」を参照してください。

同様に、.NET Frameworkには、コンテキスト ローカル ストレージを使用するための 2 つのメカニズム (コンテキスト相対静的フィールドとデータ スロット) が用意されています。 コンテキスト相対静的フィールドは、属性で ContextStaticAttribute マークされた静的フィールドです。 これら 2 つのメカニズムを使用する間のトレードオフは、スレッド相対静的フィールドとデータ スロットの使用のトレードオフに似ています。

構造体は LocalDataStoreSlot 、スレッドとコンテキストがスレッド固有のデータとコンテキスト固有のデータをそれぞれ格納するために使用できるローカル ストア メモリ メカニズムとして機能します。 共通言語ランタイムは、作成時にマルチスロット データ ストア配列を各プロセスに割り当てます。 スレッドまたはコンテキストは、さまざまな関数を呼び出して、データ ストアにデータ スロットを割り当て、スロットにデータ値を格納および取得し、スレッドまたはコンテキスト オブジェクトの有効期限が切れた後に再利用するためにデータ スロットを解放します。

データ スロットはスレッドまたはコンテキストごとに一意です。これらの値は、スレッド オブジェクトまたはコンテキスト オブジェクト間で共有されません。 データ スロットは、名前またはインデックス番号で割り当てられます。

ローカル データの格納の詳細については、以下を参照してくださいThreadContext。 クラスは LocalDataStoreSlot 、、Context.AllocateNamedDataSlotThread.GetDataなどのThread.AllocateNamedDataSlotメソッドで使用されContext.GetData、使用する必要がある独自のメソッドはありません。

メソッド

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
Finalize()

ガベージ コレクターが LocalDataStoreSlot オブジェクトを再利用しているときに、リソースが解放され、他のクリーンアップ操作が確実に実行されるようにします。

GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)

適用対象

こちらもご覧ください