背景 : 并发服务器模型可以在同一时刻响应多个用户请求
多路复用IO:
4.多路复用IO
1.select
2.poll
3.epoll
1.select
缺点:
1.select监听文件描述符最大个数为1024 (数组)
2.select监听的文件描述符集合在用户层,需要应用层和内核层互相传递数据
3.select需要循环遍历一次才能找到产生的事件
4.select只能工作在水平触发模式(低速模式)无法工作在边沿触发模式(高速模式)
2.poll
缺点:
1.poll监测文件描述符不受上限限制 (链表)
2.poll监听的文件描述符集合在用户层,需要内核层向用户层传递数据
3.poll需要循环遍历一次才能找到产生的事件
4.poll只能工作在水平触发模式(低速模式)无法工作在边沿触发模式(高速模式)
3.epoll
优点:
1.epoll创建内核事件表,不受到文件描述符上限限制 (红黑树)
2.epoll监听的事件表在内核中,直接在内核中监测事件效率高
3.epoll会直接获得产生事件的文件描述符的信息,而不需要遍历检测
4.epoll既能工作在水平触发模式,也能工作在边沿触发模式
操作方法:
1)创建文件描述符集合
2)添加关注的文件描述符到集合中
3)监测IO事件