io多路复用是什么意思

看了很多好帖子:

https://www.cnblogs.com/wt645631686/p/8528912.html

https://www.jianshu.com/p/6a6845464770

https://www.chaoswork.cn/733.html

个人理解总结:多路复用是多个io数据请求,用1个线程处理,处理过程中从内核拷贝到进程读缓冲区,是阻塞的(现在已经采用mmap地址映射的方法,达到内存共享效果,避免真复制,效率很高)。像select,poll,epoll都是多路复用。

异步socket IO:利用现代内核中的多线程支持监听和处理连接,为每个连接启动一个新线程。这把责任直接交给操作系统,但是会在 RAM 和 CPU 方面增加相当大的开销,因为每个线程都需要自己的执行空间。另外,如果每个线程都忙于处理网络连接,线程之间的上下文切换会很频繁。这里的异步其实是不是真正的异步,模拟异步IO,将IO的操作交给专门的thread来处理而异。

原文地址:https://www.cnblogs.com/workharder/p/12882964.html