建立socket连接后, 等待客户端连接进来, 连接以后, 调用内核的系统方法read, 这是一个阻塞的方法. 一阻塞就执行不动了, 卡死了
怎么解决呢? ...内核的遍历是主动的, 因为他不知道谁达到了, 他要主动去循环遍历, 怎样才能减少循环的次数呢?
2. 如果到达的过程能够变成一个事件, 有到达的事件了, 触发内核调用....也就是告诉内核,我到了, 可以处理了
下面说什么是事件
我们知道, 操作系统有一个cpu, 还有一块内存. 内存里放的是程序. 程序有内核程序和用户自定义的程序....返回cdf9
第五步: 再次调用epoll_ctl, 将cfd9放入到fd5这块内核空间里, 为什么这么做呢?因为,我不知道客户端什么时候会发消息, 是一年, 还是2年?...每次循环要传递10w个文件描述符.
2. 在内核中要遍历这10w个文件描述符
怎么解决这个两个问题的?
1. 我们希望每次不要传10w个文件描述符, 每次只传1个.