同步編程與異步編程


一:並發的概念

當有多個線程在操作時,如果系統只有一個CPU,則它根本不可能真正同時執行一個以上的線程,它只能把CPU運行時間划分成若干個時間段,再將時間 段分配給各個線程執行,在一個時間段的線程代碼運行時,其它線程處於掛起狀。這種方式我們稱之為並發(Concurrent)。

二:並行的概念

當系統有一個以上CPU時,則線程的操作有可能非並發。當一個CPU執行一個線程時,另一個CPU可以執行另一個線程,兩個線程互不搶占CPU資源,可以同時進行,這種方式我們稱之為並行(Parallel)。

三:異步編程

異步編程的原則是,讓進程處理多個並發執行的上下文來模擬並行處理方式 。

異步應用使用一個事件循環,當一個事件觸發暫停或恢復執行上下文:只有一個上下文處於活動狀態,上下文之間進行輪替,代碼中的顯示指令告訴事件循環,哪里可以暫停執行,這時,進程將查找其他待處理的線程進行恢復,最終,進程將回到函數暫停的地方繼續運行,從一個執行上下文移到另一個上下文稱為切換

四:同步編程

 

 

 

 

 

 

 

 

 

 

 

 

 

 

# TODO


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM