目前流程的多路復(fù)用IO實現(xiàn)主要包括四種: select、poll、epoll、kqueue。下表是他們的一些重要特性的比較;
多路復(fù)用IO技術(shù)最適用的是“高并發(fā)”場景,所謂高并發(fā)是指1毫秒內(nèi)至少同時有上千個連接請求準(zhǔn)備好。其他情況下多路復(fù)用IO技術(shù)發(fā)揮不出來它的優(yōu)勢。
另一方面,使用JAVA NIO進行功能實現(xiàn),相對于傳統(tǒng)的Socket套接字實現(xiàn)要復(fù)雜一些,所以實際應(yīng)用中,需要根據(jù)自己的業(yè)務(wù)需求進行技術(shù)選擇。