異步阻塞IO是什麼鬼?
這篇文章我們來聊一個很簡單,但是很多人往往分不清的一個問題,同步異步、阻塞非阻塞到底怎麼區分? 開篇先問大家一個問題:IO多路複用是同步IO還是異步IO? 先思考一下,再繼續往下讀。 鉅著《Unix網絡編程》將IO模型劃分為5種,分別是 阻塞IO 非阻塞IO IO複用 信號驅動IO 異步IO 個人認為這麼分類並不是很好,因為從字面上理解阻塞IO和非阻塞IO就已經是數學意義上的全集了
Nickname 蟬沐風
Contributes2
Followers0
這篇文章我們來聊一個很簡單,但是很多人往往分不清的一個問題,同步異步、阻塞非阻塞到底怎麼區分? 開篇先問大家一個問題:IO多路複用是同步IO還是異步IO? 先思考一下,再繼續往下讀。 鉅著《Unix網絡編程》將IO模型劃分為5種,分別是 阻塞IO 非阻塞IO IO複用 信號驅動IO 異步IO 個人認為這麼分類並不是很好,因為從字面上理解阻塞IO和非阻塞IO就已經是數學意義上的全集了
Nickname 蟬沐風
阻塞和非阻塞 阻塞的時候線程會被掛起 阻塞: 當數據還沒準備好時,調用了阻塞的方法,則線程會被掛起,會讓出CPU時間片,此時是無法處理過來的請求,需要等待其他線程來進行喚醒,該線程才能進行後續操作或者處理其他請求。 非阻塞: 意味着,當數據還沒準備好的時候,即便我調用了阻塞方法,該線程也不會被掛起,後續的請求也能夠被處理。 同步 同步和異步跟串行和並行非常形似。 假設在一個場景下:完成一個大任務需
Nickname Java架構師