问高手一个完成端口和重叠IO的问题,比较有难度的
众所周知,完成端口模型作为windows平台上网络服务器的一个效率最高的模型,它同时利用重叠IO和完成端口的机制,减少了内核和应用之间的内存拷贝次数,但是根据我找到的网上的资料,发现现在的完成端口上的重叠操作一般都只有两个(同一个socket handle上),一个是读的,一个是写的,当有一个读或者写完成以后才会发起下一个重叠的读写请求
那么这样其实就是浪费了从一个读完成到发出下一个读操作之间的时间,因为在这期间是没有读或者写的重叠IO操作的,高效的作法是同时保持多个读、多个写的重叠操作,但是这样是tcp的话就会带来一些线程的时序上的问题,有没有高手对这个有比较好的解决方法的?请大家踊跃发表意见,重在讨论