個人的理解是這樣的:
1. 非同步通訊的意思是,當a傳送完訊息之後,不等待b的回應,繼續執行之後的程式.在將來的某個時刻,a再來檢查是否收到b的回應。
非同步就是彼此獨立,在等待某事件的過程中繼續做自己的事,不需要等待這一事件完成後再工作。
2. 多執行緒是程式設計的邏輯層概念,它是程序中併發執行的一段**。多執行緒可以實現執行緒間的切換執行。
3. 非同步和同步是相對的,同步就是順序執行,執行完乙個再執行下乙個,需要等待、協調執行。執行緒就是實現非同步的乙個方式。非同步是讓呼叫方法的主線程不需要同步等待另一線程的完成,從而可以讓主線程幹其它的事情。
非同步和多執行緒並不是乙個同等關係,非同步是最終目的,多執行緒只是我們實現非同步的一種手段。非同步是當乙個呼叫請求傳送給被呼叫者,而呼叫者不用等待其結果的返回而可以做其它的事情。實現非同步可以採用多執行緒技術或則交給另外的程序來處理。
非同步和多執行緒的關係
非同步通訊的意思是,當a傳送完訊息之後,不等待b的回應,繼續執行之後的程式.在將來的某個時刻,a再來檢查是否收到b的回應。非同步就是彼此獨立,在等待某事件的過程中繼續做自己的事,不需要等待這一事件完成後再工作。多執行緒是程式設計的邏輯層概念,它是程序中併發執行的一段 多執行緒可以實現執行緒間的切換執...
關於多執行緒和非同步
計算密集型工作,採用多執行緒。io密集型工作,採用非同步機制。多執行緒 新開乙個執行緒執行程式 private void btnmutilthread click object sender,eventargs e public void dosomething 非同步執行程式 減少占有cpu dm...
多執行緒和非同步
非同步執行緒 前台執行緒 後台執行緒 預設前台執行緒 有執行緒的取消 完成 失敗通知等互動性操作 通過jion阻塞,達到執行緒執行的先後次序 預設後台執行緒 無線程的取消 完成 失敗通知等互動性操作 可以減少每次建立執行緒的開銷 static void main string args 主線程執行完...