一健民、名詞解釋
1.1 同步與異步
同步與異步更關(guān)注交互雙方是否可以同時工作
- 同步:請求 -> 等待返回 -> 返回 -> 下一次請求,需要等待結(jié)果返回(CS非同時工作)筏勒;
- 異步:客戶端一直請求,服務(wù)端一直處理种柑,不用等待結(jié)果返回,比如Future(CS同時工作)薪缆;
1.2 阻塞與非阻塞
阻塞與非阻塞關(guān)注交互雙方是否可以一心多用
- 阻塞:A->B信殊,A一直等著B響應(yīng)炬称,期間不去干別的(一心一用);
- 非阻塞:A->B,A請求完成可以干別的涡拘,B響應(yīng)了再回來繼續(xù)處理(一心多用)玲躯;
1.3 偽異步I/O
本質(zhì)上還是同步阻塞I/O
不過是在服務(wù)器把socket鏈接封裝成Task提交給線程池處理
因為有隊列,所以可以突破C:S=1:1的比例
1.4 I/O多路復用
通過把多個I/O的阻塞復用到一個阻塞上鳄乏,從而使得系統(tǒng)在單線程情況下可以處理多個客戶端的請求跷车。
類似于linux的epoll、select
1.5 多路復用器
Selector橱野,核心是通過Selector來輪詢注冊在其上的Channel
當發(fā)現(xiàn)有Channel就緒就返回Channel的選擇鍵集合朽缴,進行I/O操作;
二水援、不同I/O模型對比表格
三密强、參考
- 《Netty權(quán)威指南 2th》