说透IO多路复用模型_京东云开发者的博客
细信息,请参阅这两篇文章:Nonblocking IO & The method to epoll’s madness. 简化流程如下: 数据存储这块解决了,那么针对连接上来的客户端socket,该用什么数据结构保存进来呢?这里用到了红黑树,由于客户端socket会有频繁的新增和删除操作,而红黑树这块时间复杂度仅仅为O(logN),还是挺高效的。有人会问为啥不用哈希表呢?当大量的连接频繁的进行接入或者断开的时候,扩容或者其他行为将会产生不少的rehash操作,而且还要考虑哈希冲突的情况。虽然查询速度的确可以达到o(1),但是rehash或者哈希冲突是不可控的,所以基于这些考量,我认为红黑树占优一些。 客户端socket怎么管理这块解决了,接下来,当有socket有数据需要进行读写事件处理的时...阅读全文