Изменения документа Tools.Collections
Редактировал(а) Alexandr Fokin 2023/01/11 15:18
<
отредактировано Alexandr Fokin
на 2022/12/28 10:33
на 2022/12/28 10:33
отредактировано Alexandr Fokin
на 2023/01/11 15:18
на 2023/01/11 15:18
Изменить комментарий:
Renamed back-links.
Комментарий
-
Свойства страницы (1 изменено, 0 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Содержимое
-
... ... @@ -58,7 +58,7 @@ 58 58 59 59 Содержит коллекцию, выступающую в роли буфера с возможностями: 60 60 1) Параллельная запись в буфер. (Запись в буфер ведется по одному элементу) 61 -2) Параллельное чтение элементов из буфера, каждый потребитель получает уникальные значения из буфера. В случае, если буфер пуст, то потребитель может асинхронно ожидать поступление нового элемента в буфер. 61 +2) Параллельное асинхронное чтение элементов из буфера, каждый потребитель получает уникальные значения из буфера. В случае, если буфер пуст, то потребитель может асинхронно ожидать поступление нового элемента в буфер. 62 62 У буфера есть параметр RecommendedMaxSize, значение которого учитывается в методе TryAdd, но дополнительно не блокирует хранилище и счетчик Size, поэтому, при параллельной записи, фактический размер буфера может превысить значение RecommendedMaxSize на несколько элементов. 63 63 64 64 Tools.Collections.Concurrent.AsyncBuffer.Store.IConcurrentStore<T> - внутреннее хранилище буфера (обертка над ConcurrentQueue и ConcurrentStack) ... ... @@ -66,6 +66,7 @@ 66 66 67 67 Классы из Tools.Collections.Concurrent.AsyncBuffer.PriorityWrapper добавляют обертку над IConcurrentStore<T> и IConcurrentBuffer<T>, которая позволяет управлять приоритетами потребления элементов из буфера. По факту для каждого значения приоритета храниться свой собственный IConcurrentStore<T> (задается через конструктор), и элемент считывается из первого непустого IConcurrentStore<T> в порядке приоритета. 68 68 69 +[[Асинхронность. Async Await>>doc:Разработка.NET.C#.Многопоточность и асинхронность.Асинхронность\. Async Await.WebHome]] 69 69 UDP: сейчас есть [[System. Threading. Channels>>doc:Разработка.NET.Библиотеки.События и потоки.System\. Threading\. Channels.WebHome]]. 70 70 71 71 ----