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>) |
Проверяет два неизменяемых массива на равенство и, если они равны, заменяет один из них. |
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>) |
Изменяет значение на месте с семантикой транзакций оптимистичной блокировки с помощью указанной функции преобразования. Преобразование извлекается столько раз, сколько требуется для устранения конфликта оптимистической блокировки. |
Применяется к
Потокобезопасность
Данный тип потокобезопасен.