Я генерирую RTP-пакет каждые 20 мс для каждого вызова.Каждый вызов обрабатывается после «ожидания» моего прослушивающего сервера UDPClient.ReceiveAsync.
Я использую высокоточный таймер (использующий TimeSetEvent из winmm.dll), который запускает каждые 20 мс и «устанавливает» выделенный ManualResetEventSlim (MRES)объект, созданный для каждого входящего UDP-вызова.Каждый раз, когда устанавливается MRES, поток вызовов освобождается, и при каждом вызове отправляется один пакет и т. Д.
Потеряю ли я потоки, продолжая блокировать поток без операции, связанной с ЦП, пока его MRESне сигнализируется?Существует ли «асинхронная» версия этой MRES, которую можно ждать.Если да, увеличит ли это дроссель моего основного цикла UDPClient.RececiveAsync?
Приложение - Windows WinForms и другая версия как Служба Windows .