參考資料:https://www.cnblogs.com/myJavaEE/p/6721127.htmlhtml
https://www.cnblogs.com/wade-luffy/p/5680327.htmlreact
同步:就是按順序操做,一直等待響應設計模式
異步:發起異步後,接下來的順序還能夠繼續執行,後臺經過回調獲取結果異步
阻塞:是後臺進程因爲io過程時間長而掛起,沒返回數據,直到io完成,調度到此socket
進程,然後返回結果函數
非阻塞:後臺進程即時返回當前io信息,io完成後,調度到此進程,然後返回結果優化
同步阻塞io: 用戶一直等待後臺進程返回的信息,不能進行其餘的操做操作系統
同步非阻塞:相似 加了循環的同步阻塞io,不斷循環請求結果,(假象,假的非阻塞)線程
同步 io多路複用: 也是相似 加了循環的同步阻塞io,可是,屬於優化版的,使用設計
系統函數select、epoll;註冊,有結果後,通知激活socket,經過select返回數據,
而後用戶就能夠read數據 (此屬於 reactor 設計模式)
異步io:在異步io模型中,當用戶線程收到通知後,數據已經被操做系統從內核拷
貝到指定的緩衝區中,用戶線程直接使用便可。看似 io多路複用的增強版,(此屬
於proactor設計模式)