阻塞、非阻塞
- 阻塞/非阻塞:指線程/進程要操作的數據是否準備就緒,進程/線程是否需要等待
- 阻塞:進程/線程給CPU傳達一個任務之後,一直等待CPU處理完成,然後才執行後續操作
- 非阻塞:進程/線程給CPU傳達任務候繼續處理後續操作,間隔詢問之前的任務是否完成,這種過程其實也叫輪詢。
同步、異步
- 同步/異步:訪問數據的方式
- 同步:主動讀寫數據,在讀寫數據的過程中還是會阻塞
- 異步:不主動讀寫數據,由操作系統內核進行數據讀寫,操作完成候返回信號。
總結
1、阻塞、非阻塞、多路複用,都是同步IO,異步必定是非阻塞的。
2、只有用戶進程/線程在操作IO時根本不考慮IO的執行全都交給CPU去完成,而自己只等待一個完成的信號時纔是真正的異步。
鏈接: https://www.cnblogs.com/Anker/p/5965654.html.