6.3
非阻塞网络编程应该用边沿触发(ET)还是电平触发(LT)?如果是电平触发,那么什么时候关注POLLOUT事件?会不会造成busy-loop?如果是边沿触发,如果和防止漏读造成的饥饿?
epoll一定比poll快么?
6.4
在finger的测试程序中,没有设置onConnection这个函数,就可以连接?
6.6 详解muduo多线程模型
方案0: accept+read/write 一次服务一个客户
这个不是并发服务器。
方案1: accept+fork() process-per-connection
这个是传统的UNIX并发网络编程方案,也叫process-per-connextion。这种方案适合并发连接数不大的情况。“计算响应的工作量大于fork()的开销" 每一个连接开启一个进程来处理
方案2:accept+thread thread-per-connection
同样适合长连接,每一个连接开启一个线程,相对于方案1来说,开销是小了一点,但是对于多个并发连接,也是不合适的,线程数目太多,线程上下文切换也是需要很多时间的!
方案3:perfork() 在UNP中存在
<