计算机系统后台可能存在N多个进程任务,如果能自动的循环查询多个任务的进度,而不需要用户进程主动发起轮询调用,有人来帮忙盯着这些进度,那就很方便了。
因此Linux系统下select,poll,epoll就是来帮你做着盯着进程进度的一个软件,并且epoll效率是最高的,nginx就是使用epoll网络IO模型
select事件
select就是做自动轮询的这件事,它和非阻塞轮询的区别在
其实IO多路复用和阻塞IO形式区别不大,并且有可能性能还更差一点,是因为IO多路复用还额外的调用了select事件,还有额外的系统开销
IO多路复用的好处就是select事件可以同时处理多个连接
如果你的服务器链接数不是很高的话,使用IO多路复用还不如用(多线程+同步阻塞IO)来的效率更高
IO多路复用的优势在于可以同时处理更多的链接,而不是处理速度的优势
网友评论