文章字数:213,阅读全文大约需要1分钟
c10k本质
c10k
就是大并发下所产生的问题。传统的同步阻塞io导致大并发量下效率低下,甚至是系统崩溃。
解决
主要解决方式是io多路复用
select
方式:使用fd_set
结构体告诉内核同时监控那些文件句柄,逐个排查文件句柄是否就绪或超时。缺点(句柄数量有限,逐个检查效率低,每次都要初始化fd_set)poll
该方式采用链表存储句柄,解决句柄上线问题。采用关注事件和发生的事件解决重复初始化问题。但是逐个检查的问题没解决epoll
该方式基于内核(linux)发出就绪之后的通知,效率很高但是一来操作系统。