Изменения документа ConcurrentDictionary
Редактировал(а) Alexandr Fokin 2023/02/16 01:41
<
>
отредактировано Alexandr Fokin
на 2020/06/13 20:53
на 2020/06/13 20:53
отредактировано Alexandr Fokin
на 2021/05/15 14:38
на 2021/05/15 14:38
Изменить комментарий:
Update document after refactoring.
Комментарий
-
Свойства страницы (3 изменено, 0 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Родительский документ
-
... ... @@ -1,1 +1,1 @@ 1 -Разработка.NET.C#.WebHome 1 +Разработка.NET.C#.Коллекции.Concurrent.WebHome - Теги
-
... ... @@ -1,0 +1,1 @@ 1 +keyValue|dictionary|threadSafe - Содержимое
-
... ... @@ -13,4 +13,8 @@ 13 13 14 14 Получается, что ни вызов AddOrUpdate, ни вызов конкретного делегата (Add/Update) сам по себе не блокирует значение в коллекции и не препятствует в изменении другим потокам. 15 15 16 -По сути мы получаем оптимистичную блокировку. В случае неудачи которой, повторно вызывается действие обработки. Критерием сравнения блокировки является Equils. В таком случае возможно имеет смысл перегрузка Equils и наличии в сущности некоторого ключевого поля. Нечто вроде Change Version TimeStamp. 16 +По сути мы получаем **оптимистичную блокировку**. В случае неудачи которой, повторно вызывается действие обработки (add/update) в нового значения по указанному ключу. Критерием сравнения блокировки является Equils. В таком случае возможно имеет смысл перегрузка Equils и наличии в сущности некоторого ключевого поля. Нечто вроде Change Version TimeStamp. 17 + 18 + 19 +Ссылки: 20 +[[Базы данных/Транзакции и блокировки>>https://wiki.denhome.ru/bin/view/Разработка/Базы%20данных/Транзакции%20и%20блокировки/]]