其實要理解這兩種模式很多人會說這很簡單,無非一種是同步非阻塞行(nio),一種是異步非阻塞行(aio),但是對于什么是同步和非阻塞呢,什么是異步非阻塞呢,
首先來談談我的理解,同步和異步這兩種是針對數據的就緒狀態,即數據是否可以讀,網絡通道中是否有數據讀,
阻塞和非阻塞是針對數據的一種處理狀態,阻塞是由線程自己去處理數據,非阻塞則是由系統(操作系統)自己去讀取數據到事先線程設定的緩沖區中,
同步異步指的是通信模式,而阻塞和非阻塞指的是在接收和發送時是否等待動作完成才返回所以不能混淆這四個詞
其實無論是同步、異步、阻塞、非阻塞都是針對I/O的不同時間段,不同狀態而產生的一種術語
下面拷貝網上的對于四種詞匯的理解
同步?
所謂同步,就是在發出一個功能調用時,在沒有得到結果之前,該調用就不返回
異步?
異步的概念和同步相對。當一個異步過程調用發出后,調用者不能立刻得到結果。實際處理這個調用的部件在完成后,通過狀態、通知和回調來通知調用者。
阻塞?
阻塞調用是指調用結果返回之前,當前線程會被掛起。函數只有在得到結果之后才會返回。?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
