IOCP之間的聯系是什么?
早期網絡訪問的做法是,連接以后,就等待對方應答,對方沒有應答,代碼就會死在那里。這稱為阻塞式通訊。 后來,java 1.4 開始引入了nio, nio是非阻塞式網絡通訊. 其實可以理解為系統去掃描端口,如果有返回就處理,沒有的話,代碼就繼續做別的事。不過nio的編碼比較麻煩,雖然性能好,可是很多代碼還在用阻塞,因為代碼簡單,很多例子上也是socket的。然后高麗人開發了apache的mina,可以快速開發nio。后來高麗人離開apache,開發了netty,提供了另一種調用nio的framework。現在mina和netty是最常用的nio框架。至于iocp,這個是個系統級的實現,其實類似nio,不過是通過操作系統來實現的。而且只支持windows。java 7以后把iocp引入,提供了快速開發的接口。不過不是很推薦使用。系統實現就表示iocp不再是跨平臺的。那么實用性就差很多了。