1. 程式人生 > >同步和非同步_阻塞和非阻塞

同步和非同步_阻塞和非阻塞

阻塞和非阻塞

執行緒去請求資源時,遇到資源正在處理還未準備就緒的情況的兩種處理方式:

阻塞:執行緒等待該資源準備就緒。呼叫結果返回之前,當前執行緒會被掛起。

非阻塞:執行緒發現該資源正在處理,會去請求別的資源

同步和非同步

訪問資料的兩種機制:

同步:請求資料時,等待IO操作完成後通知"操作完成"。有人也許會把阻塞呼叫和同步呼叫等同起來,實際上它們是不同的。對於同步呼叫來說,很多時候當前執行緒還是啟用的,只是從邏輯上當前函式沒有返回而已。

非同步:請求資料時,IO操作的同時可以去請求別的資料,等所有的操作都執行完畢再統一通知"操作完成"