Изменения документа Tools.Collections
Редактировал(а) Alexandr Fokin 2023/01/11 15:18
<
>
отредактировано Alexandr Fokin
на 2022/10/04 17:25
на 2022/10/04 17:25
отредактировано Alexandr Fokin
на 2022/12/12 11:54
на 2022/12/12 11:54
Изменить комментарий:
Renamed back-links.
Комментарий
-
Свойства страницы (1 изменено, 0 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Содержимое
-
... ... @@ -7,7 +7,7 @@ 7 7 8 8 ==== 1) LinkItemDictionary ==== 9 9 10 -Коллекция представляют из себя KeyValue хранилище, является потокобезопасным. (В основе лежит [[ConcurrentDictionary>>Разработка.NET.C#.Коллекции.Concurrent.ConcurrentDictionary.WebHome]], [[Удаление по условию>>Разработка.NET.C#.Коллекции.Concurrent.ConcurrentDictionary.Удаление по условию.WebHome]]) 10 +Коллекция представляют из себя KeyValue хранилище, является потокобезопасным. (В основе лежит [[ConcurrentDictionary>>Разработка.NET.C#.Коллекции.System\. Collections\. Concurrent.ConcurrentDictionary.WebHome]], [[Удаление по условию>>Разработка.NET.C#.Коллекции.System\. Collections\. Concurrent.ConcurrentDictionary.Удаление по условию.WebHome]]) 11 11 Для обеспечения оптимистичной блокировки в LinkStorage используется специальный item с полем Stamp, по которому проверяется не был ли изменен элемент во время операции. 12 12 13 13 Интерфейс: ... ... @@ -19,16 +19,16 @@ 19 19 |Func<ILinkItem<TKey, TData>, TData> updateFactory|фабрика для обновления существующего значения 20 20 )))|(% style="width:528px" %)Если по ключу нет записи, то 21 21 добавить запись 22 - счетчик записи = 1 22 + счетчик ссылок записи = 1 23 23 вызвать addFactory(если не null) и заполнить value.Data 24 24 Иначе если по ключу есть запись, то 25 - Увеличить счетчик на 1 25 + Увеличить счетчик ссылок на 1 26 26 вызвать updateFactory(если не null) и обновить value.Data 27 27 |RemoveLink|(% style="width:859px" %)((( 28 28 |TKey key|ключ 29 29 |Func<ILinkItem<TKey, TData>, TData> updateFactory|фабрика для обновления существующего значения 30 30 )))|(% style="width:528px" %)Вызвать updateFactory(если не null) и обновить value.Data 31 -Уменьшить счетчик на 1 31 +Уменьшить счетчик ссылок на 1 32 32 Если значение счетчика <= 0 33 33 То удалить запись 34 34