Сколько моделей асинхронной разработки в .NET?

Я изучаю асинхронное программирование на C # и обычно использую BeginInvoke , но я не очень уверен в других методах создания асинхронных приложений.

Я задал вопрос по этому поводу, подробнее см. Ссылку ниже:

Как вернуть значение T из BeginInvoke?

В приведенной выше ссылке Гравелл сказал, что существует четыре модели асинхронной разработки.

Там как минимум 4, тогда - обычный обратный вызов (не-APM, не-EAP) тоже не редкость

Но Overflow сказал, что их три:

Есть 3 модели асинхронной разработки в .NET

  • APM - ( BeginXXX / EndXXX ), который вы используете здесь, когда длительная задача завершается, она обращается обратно в ваш код в методе EndXXX

  • EAP - на основе событий. В этой модели, когда завершается длительная задача, возникает событие, информирующее ваш код.

  • TPL - Новое в .NET 4, это версия на основе задач. Это больше всего похоже на синхронное программирование клиентского кода с использованием свободного интерфейса. Он обращается к вашему коду с помощью ContinueWith .

Кто-нибудь может мне в этом помочь?

Я много искал на google.com, но на самом деле они чаще всего используют BeginInvoke . Спасибо за вашу помощь.

8
задан Cœur 10 February 2019 в 07:53
поделиться