Re[3]: ChannelReader<T>
От: vdimas Россия  
Дата: 06.04.21 03:30
Оценка:
Здравствуйте, varenikAA, Вы писали:

Q>>Возможно, для этих целей лучше подходит Channel&lt;T&gt;

AA>Спасибо. но это немножко не то.

Как раз то.
Каждая заинтересованная в получении писем сущность начинает работу с асинхронного запроса письма из почтового ящика.
Происходящее с т.з. активности — блокирующий вызов, т.е. подписка на событие готовности.
С т.з. "физического потока" (т.е. потока уровня ОС) — асинхронный вызов.


AA>Идея сделать асинхронный последовательный доступ к общему хранилищу.


Строго говоря, последовательный доступ всегда синхронный, ну да ладно, терминология современного донета малость загоняет, разводит путаницу на ровном месте.

В общем, требуется просто последовательный доступ.
Примерно так:
http://www.rsdn.org/forum/dotnet/7947025


AA>Вообще почтовый ящик отличная абстракция позволяет закодить взаимодействие акторов без блокировок и синхронизации, т.к. все обращения обрабатываются в порядке очереди.


Блокировка/синхронизация никуда не делись.
Просто раньше очередь ожидающих активностей (процессов, потоков) была на уровне механизмов ОС, а через async/await эта очередь живёт на юзверском уровне, но по-сути она в точности такая же.
Отредактировано 06.04.2021 3:35 vdimas . Предыдущая версия . Еще …
Отредактировано 06.04.2021 3:34 vdimas . Предыдущая версия .
Отредактировано 06.04.2021 3:31 vdimas . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.