.net多线程的发展

  1. APM和EAP是在async/await之前的两种不同的异步编程模式。
  2. APM如果不阻塞主线程,那么完成通知(回调)就会执行在另外一个线程中,从而给我们更新UI带来一定的问题。
  3. EAP的通知事件是在主线程中执行的,不会存在UI交互的问题。
  4. 最后,我们还学习了在Winform下不同线程之间交互的问题,以及SynchronizationContext。
  5. APM是.NET下最早的异步编程方法,从.NET1.0以来就有了。在.NET2.0的时候,微软意识到了APM的回调函数中与UI交互的问题,于是带来了新的EAP。APM与EAP一直共存到.NET3.5,在.NET4.0的时候微软带来了TPL,也就是我们所熟知的Task编程,而.NET4.5就是我们大家知道的async/await了,可以看到.NET一直在不停的进步,加上最近不断的和开源社区的合作,跨平台等特性的引入,我们有理由相信.NET会越走越好。
原文地址:https://www.cnblogs.com/wolf12/p/4446068.html