前一篇文章我们讲了select网络模型,它解决了有N个客户端连接,就有N+1个线程的问题,现在我们只需要2个线程就能搞定了。但是,我们的服务端仅仅是这样的话,它的效率还是非常低的。在select模型中,我们在工作者线程里边调用了select函数来判断是否有数据到来了(有信号了),如果没有信号,select就会卡在这里,虽然我们可以给它一个超时时间,但是它在底层还是调用了sleep函数。所以它浪费了CPU的时钟周期,由于我们不知道客户是什么发送数据过来,可能是1秒,可能是1小时,也有可能是1天,所有等待数据到来占了非常大的一部分时间,效率是比较低的。接下来我们来看下EventSelect模型,它要解决的问题就是将这个等待数据到来的时间给节省掉了。前一篇文章我们讲了select网络模型,它解决了有N个客户端连接,就有N+1个线程的问题,现在