Re[4]: .net core и async lock
От: vdimas Россия  
Дата: 06.04.21 11:51
Оценка: 11 (2)
Здравствуйте, Serginio1, Вы писали:

S>Ну судя по описанию вызовется делегат в пуле потоков.


Верно.


S>Ничего морозиться не будет


Ты же сам ниже оставил объяснение:

S>Операция ожидания выполняется потоком из пула потоков. Делегат выполняется рабочим потоком, когда состояние объекта становится сигнальным или истекает интервал времени ожидания. Если timeOutInterval параметр имеет значение, отличный от 0 (ноль), а executeOnlyOnce параметр — false , таймер сбрасывается каждый раз, когда событие получает сигнал, или истекает интервал времени ожидания.

S>[/q]

S>По твоему поток морозится на ожидании сигнала или таймаута.


В одном из потоков пула будет сделан блокирующий вызов WinAPI WaitForSingleObject для соотв хендла, а после возврата из этого вызова будет вызван поданный колбэк.


S>И на каждый хендл свой поток?


Да, что малость забавно, ведь WaitForMultipleObjects может ожидать до 64-х хендлов.
Видать, не стали заморачиваться.
Отредактировано 08.04.2021 13:00 vdimas . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.