Я изучаю асинхронное программирование на C # и обычно использую BeginInvoke
, но я не очень уверен в других методах создания асинхронных приложений.
Я задал вопрос по этому поводу, подробнее см. Ссылку ниже:
Как вернуть значение T из BeginInvoke?
В приведенной выше ссылке Гравелл сказал, что существует четыре модели асинхронной разработки.
Там как минимум 4, тогда - обычный обратный вызов (не-APM, не-EAP) тоже не редкость
Но Overflow сказал, что их три:
Есть 3 модели асинхронной разработки в .NET
APM - ( BeginXXX
/ EndXXX
), который вы используете здесь, когда длительная задача завершается, она обращается обратно в ваш код в методе EndXXX
EAP - на основе событий. В этой модели, когда завершается длительная задача, возникает событие, информирующее ваш код.
TPL - Новое в .NET 4, это версия на основе задач. Это больше всего похоже на синхронное программирование клиентского кода с использованием свободного интерфейса. Он обращается к вашему коду с помощью ContinueWith
.
Кто-нибудь может мне в этом помочь?
Я много искал на google.com, но на самом деле они чаще всего используют BeginInvoke
. Спасибо за вашу помощь.