Поделиться через


ImmutableInterlocked Класс

Определение

Содержит механизмы переблокированного обмена для неизменяемых коллекций.

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

Изменяет значение на месте с семантикой семантики транзакций оптимистичной блокировки с помощью указанной функции преобразования. Преобразование выполняется столько раз, сколько необходимо, чтобы выиграть оптимистическую блокировку гонки.

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

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

Этот тип является потокобезопасной.