mmap sendfile DirectBuffer | select poll epoll 有什么区别,什么原理?

有什么区别,什么原理

回答·1
最热
最新
  • 这是一个非常质量的问题。要回答这个问题首先要从 linux 的文件描述符说起,客户端和服务器的网络连接会生成一个对应的 fd,但是 linux 系统对 fd 有最大限制,这就是远古的 C10K 问题了。现在来回简单答下问题,mmp sendfile directbuffer 是 io 读写的性能优化实现,解决了传统 io 读写数据从内核空间到用户空间的性能损耗,实现数据的零拷贝。而 select  poll epoll 都是 io 多路复用的实现,select poll 采用轮询方式检查读写事件,epoll 利用事件驱动机制,发生读写事件会主动通知。具体实现和区别不详解释。这两个技术合在一起就是网络通讯编程的基础知识。请同学们加油学习