多进程并发服务器
Apache服务器
当accept时,fork一个子进程。
子进程处理请求,父进程继续listen
多线程并发服务器
线程池并发服务器
- 预先创建阻塞于accept的线程。客户端连接时。阻塞的线程都被唤醒(条件变量),竞争。只有一个线程去处理accept,其它线程继续阻塞。
- 设置一个主控线程,主控线程accept,再分配给任务线程。
多路I/O转接服务器
select
受限于监听文件描述符个数,小于1024个时,可以使用。
select采用轮询。
可以监控5个
poll
epoll
linux专用。