次の方法で共有


ImmutableInterlocked クラス

定義

変更できないコレクションのインタロック交換メカニズムが含まれています。

NuGet パッケージ: System.Collections.Immutable (変更できないコレクションの概要とインストール方法)

public ref class ImmutableInterlocked abstract sealed
public static class ImmutableInterlocked
type ImmutableInterlocked = class
Public Class ImmutableInterlocked
継承
ImmutableInterlocked

メソッド

AddOrUpdate<TKey,TValue>(ImmutableDictionary<TKey,TValue>, TKey, Func<TKey,TValue>, Func<TKey,TValue,TValue>)

値の追加または既存のエントリの更新後に、その値をディクショナリから取得します。

AddOrUpdate<TKey,TValue>(ImmutableDictionary<TKey,TValue>, TKey, TValue, Func<TKey,TValue,TValue>)

値の追加または既存のエントリの更新後に、その値をディクショナリから取得します。

Enqueue<T>(ImmutableQueue<T>, T)

要素をキューの末尾にアトミックに入れます。

GetOrAdd<TKey,TValue,TArg>(ImmutableDictionary<TKey,TValue>, TKey, Func<TKey,TArg,TValue>, TArg)

指定されたキーの値をディクショナリから取得するか、キーが見つからなかった場合は、ディクショナリに新しい値を追加します。

GetOrAdd<TKey,TValue>(ImmutableDictionary<TKey,TValue>, TKey, Func<TKey,TValue>)

指定されたキーの値をディクショナリから取得するか、キーが見つからなかった場合は、ディクショナリに新しい値を追加します。

GetOrAdd<TKey,TValue>(ImmutableDictionary<TKey,TValue>, TKey, TValue)

指定されたキーの値をディクショナリから取得するか、キーが見つからなかった場合は、ディクショナリに新しい値を追加します。

InterlockedCompareExchange<T>(ImmutableArray<T>, ImmutableArray<T>, ImmutableArray<T>)

2 つの変更できない配列が等しいかどうかを比較し、等しい場合は、その配列のいずれかを置き換えます。

InterlockedExchange<T>(ImmutableArray<T>, ImmutableArray<T>)

分割不可能な操作として、指定した配列を配列として設定し、元の配列への参照を返します。

InterlockedInitialize<T>(ImmutableArray<T>, ImmutableArray<T>)

配列が初期化されていない場合に、指定した配列を配列として設定します。

Push<T>(ImmutableStack<T>, T)

新しい要素をスタックにプッシュします。

TryAdd<TKey,TValue>(ImmutableDictionary<TKey,TValue>, TKey, TValue)

キーがディクショナリ内に存在しない場合、指定したキーと値をディクショナリに追加します。

TryDequeue<T>(ImmutableQueue<T>, T)

キューが空ではない場合、キューの先頭にある指定した要素をアトミックに削除して返します。

TryPop<T>(ImmutableStack<T>, T)

削除する要素が存在する場合は、スタックの先頭から要素を削除します。

TryRemove<TKey,TValue>(ImmutableDictionary<TKey,TValue>, TKey, TValue)

キーが存在する場合は、指定したキーを持つ要素を削除します。

TryUpdate<TKey,TValue>(ImmutableDictionary<TKey,TValue>, TKey, TValue, TValue)

指定したキーが既に特定の値に設定されている場合は、指定されたキーに指定された値を設定します。

Update<T,TArg>(ImmutableArray<T>, Func<ImmutableArray<T>,TArg,ImmutableArray<T>>, TArg)

指定した変換関数を使用して、オプティミスティック ロック トランザクション セマンティクスを使用して、不変の配列をインプレースで変更します。 変換は、楽観的ロックの競合を獲得するために必要な回数だけ再試行されます。

Update<T,TArg>(T, Func<T,TArg,T>, TArg)

指定した変換関数を使用して、オプティミスティック ロック トランザクション セマンティクスを使用してインプレースの値を変更します。 変換は、楽観的ロックの競合を獲得するために必要な回数だけ再試行されます。

Update<T>(ImmutableArray<T>, Func<ImmutableArray<T>,ImmutableArray<T>>)

指定した変換関数を使用して、オプティミスティック ロック トランザクション セマンティクスを使用して、不変の配列をインプレースで変更します。 変換は、楽観的ロックの競合を獲得するために必要な回数だけ再試行されます。

Update<T>(T, Func<T,T>)

指定した変換関数を使用して、オプティミスティック ロック トランザクション セマンティクスを使用してインプレースの値を変更します。 変換は、楽観的ロックの競合を獲得するために必要な回数だけ再試行されます。

適用対象

スレッド セーフ

この型はスレッド セーフです。