ImmutableInterlocked Класс

Определение

Содержит механизмы обмена с взаимоблокировкой для неизменяемых коллекций.Contains interlocked exchange mechanisms for immutable collections.

Пакет NuGet: System.Collections.Immutable (сведения о неизменяемых коллекциях и способах их установки)NuGet package: System.Collections.Immutable (about immutable collections and how to install)

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>)

Возвращает значение из словаря после добавления или изменения существующей записи.Obtains the value from a dictionary after having added it or updated an existing entry.

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

Возвращает значение из словаря после добавления или изменения существующей записи.Obtains the value from a dictionary after having added it or updated an existing entry.

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

Атомарным образом добавляет элемент в конец очереди.Atomically enqueues an element to the end of a queue.

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

Возвращает из словаря значение для указанного ключа или добавляет в него новое значение, если такой ключ не найден.Gets the value for the specified key from the dictionary, or if the key was not found, adds a new value to the dictionary.

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

Возвращает из словаря значение для указанного ключа или добавляет в него новое значение, если такой ключ не найден.Gets the value for the specified key from the dictionary, or if the key was not found, adds a new value to the dictionary.

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

Возвращает из словаря значение для указанного ключа или добавляет в него новое значение, если такой ключ не найден.Gets the value for the specified key from the dictionary, or if the key was not found, adds a new value to the dictionary.

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

Проверяет два неизменяемых массива на равенство и, если они равны, заменяет один из них.Compares two immutable arrays for equality and, if they are equal, replaces one of the arrays.

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

Задает для массива значение указанного массива и возвращает ссылку на исходный массив (вся операция выполняется атомарным образом).Sets an array to the specified array and returns a reference to the original array, as an atomic operation.

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

Задает для массива значение указанного массива, если он не инициализирован.Sets an array to the specified array if the array has not been initialized.

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

Помещает в стек новый элемент.Pushes a new element onto the stack.

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

Добавляет в словарь указанные ключ и значение, если такого ключа нет в словаре.Adds the specified key and value to the dictionary if the key is not in the dictionary.

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

Атомарным образом удаляет и возвращает указанный элемент в голове очереди, если она не пуста.Atomically removes and returns the specified element at the head of the queue, if the queue is not empty.

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

Удаляет верхний элемент стека, если в нем есть элементы для удаления.Removes an element from the top of the stack, if there is an element to remove.

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

Удаляет элемент с указанным ключом, если такой ключ существует.Removes the element with the specified key, if the key exists.

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

Устанавливает для указанного ключа заданное значение, если для него еще не установлено определенное значение.Sets the specified key to the specified value if the specified key already is set to a specific value.

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

Изменяет неизменяемый массив на месте с семантикой транзакций оптимистической блокировки с помощью указанной функции преобразования.Mutates an immutable array in-place with optimistic locking transaction semantics via a specified transformation function. Преобразование извлекается столько раз, сколько требуется для устранения конфликта оптимистической блокировки.The transformation is retried as many times as necessary to win the optimistic locking race.

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

Изменяет текущее значение на семантику транзакции оптимистической блокировки, используя указанную функцию трансформации.Mutates a value in-place with optimistic locking transaction semantics via a specified transformation function. Преобразование извлекается столько раз, сколько требуется для устранения конфликта оптимистической блокировки.The transformation is retried as many times as necessary to win the optimistic locking race.

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

Изменяет неизменяемый массив на месте с семантикой транзакций оптимистической блокировки с помощью указанной функции преобразования.Mutates an immutable array in-place with optimistic locking transaction semantics via a specified transformation function. Преобразование извлекается столько раз, сколько требуется для устранения конфликта оптимистической блокировки.The transformation is retried as many times as necessary to win the optimistic locking race.

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

Изменяет текущее значение на семантику транзакции оптимистической блокировки, используя указанную функцию трансформации.Mutates a value in-place with optimistic locking transaction semantics via a specified transformation function. Преобразование извлекается столько раз, сколько требуется для устранения конфликта оптимистической блокировки.The transformation is retried as many times as necessary to win the optimistic locking race.

Применяется к

Потокобезопасность

Данный тип потокобезопасен.This type is thread safe.