美文网首页
NIO-零拷贝

NIO-零拷贝

作者: GIT提交不上 | 来源:发表于2020-05-22 13:55 被阅读0次
传统IO数据拷贝流程.png
  • 首先,调用read时,数据文件A拷贝到了kernel模式;
  • 之后,CPU控制将kernel模式数据复制到user模式下;
  • 调用write时,先将user模式下的内容复制到到kernel模式下的socket的buffer中;
  • 最后将kernel模式下的socket buffer的数据复制到网卡设备中传送;
传统IO.png 零拷贝.png

  Linux中的sendfile()以及Java NIO中的FileChannel.transferTo()方法都实现了零拷贝的功能,而在Netty中也通过在FileRegion中包装了NIO的FileChannel.transferTo()方法实现了零拷贝。

Netty 中的零拷贝(Zero-Copy)机制
Netty基础系列(4) --堆外内存与零拷贝

相关文章

网友评论

      本文标题:NIO-零拷贝

      本文链接:https://www.haomeiwen.com/subject/njcqahtx.html