c++高并发tcp网络服务器实例渐进式教程-05古代TCP服务器(非阻塞IO)
上一节我们实现了一个较为高效的tcp服务器,主要架构是主线程负责接收新的客户端连接请求,把新链接放入任务队列中,子线程负责处理任务队列中每个tcp连接的数据收发任务。这样系统不必为每个连接申请单独的线程资源,大大提高了单台系统并发数。上一节的服务器是用阻塞io模式实现的,阻塞io模式是socket默认方式。如要要切换为非阻塞io模式需要手动添加代码现在我们用非阻塞io模式来实现上一节的tcp服务器。有同学会问,非阻塞io相比阻塞io有什么优势?我只能说优势是肯定有的,只不过我们当前服务器业务逻辑