小弟最近
在ASP.NET MVC練習做網頁,有課程介紹ajax做非同步操作。
先前在讀C# .net元件開發也有一門課介紹到非同步教導使用async和await設計非同步程式
不曉得兩者通差異哪,運用的時機點在哪
請教各位大神解惑
異步(Asynchronous)是用在單執行緒上,透過分發任務來達到提高執行效率的一種設計模式。使用時主要有三種的使用方式:
觀念應該都差不多。
在Java Script中,由於需要同時handle多個請求,於是採用了非同步的方式:在沒有請求時,先做其他事情,直到某個函數被激活才去做,達到了看似同時的效果。
非同步(異步)差不多,都是為了不讓某件工作而造成整個程式停擺的做法,,該工作任務不跟主程式相依,不管成功或因為網路或對方伺服器的失敗,都不會造成主程式的錯誤而停擺,所有成功或失敗都不該由主程式來負責處理,而是由異步委派delegate/回呼callback的函數方法來解決
個人觀點: 非同步跟多執行緒無關