troubleasy

导航

 

c10k指的是服务器有10000个socket连接时,如何高效处理io事件。

需要考虑两方面:如何和操作系统配合感知io事件;如何分配线程,进程实现并发处理

下图展示了解决方法的演化过程:

 

 

 主从reactor示例:

 

 

 

 阻塞IO与非阻塞IO:

相对于调用者而言,比如read操作时,非阻塞表示若不能读到数据,就立即返回,先去做别的事情,过阵时间再次询问;阻塞表示一直等待直到可以读到数据,此时应用程序不能做别的事情。

异步IO与同步IO:

同步,调用者感知事件后,调用write和read函数完成读写,但异步,调用者发起请求,读写操作交给内核来做,调用者来获取结果。

 

posted on 2020-06-17 15:06  troubleasy  阅读(274)  评论(0编辑  收藏  举报