Делегаты и события влияют на асинхронность выполнения кода следующим образом:
- Асинхронные делегаты позволяют вызывать методы, на которые они указывают, в асинхронном режиме. 3 При этом работа основного потока не приостанавливается, а выполнение метода через делегат происходит в другом потоке. 3 Лишь когда выполнение в основном потоке доходит до определённого момента, он блокируется и ожидает завершения выполнения метода. 3
- Асинхронная модель на основе событий предоставляет стандартизированный способ упаковки класса с асинхронными функциями. 1 С её помощью можно, например, уведомлять клиентов о ходе выполнения, об изменении состояния или отправлять им промежуточные результаты. 1
Таким образом, и делегаты, и события способствуют достижению асинхронного поведения при вызове методов. 2