当前位置:嗨网首页>书籍在线阅读

13-mmap()的优点

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

4.3.4 mmap()的优点

相对于系统调用read()和write()而言,使用mmap()处理文件有很多优点。其中包括:

  • 使用read()或write()系统调用时,需要从用户缓冲区进行数据读写,而使用映射文件进行操作,可以避免多余的数据拷贝操作。
  • 除了可能潜在页错误,读写映射文件不会带来系统调用和上下文切换的开销,它就像直接操作内存一样简单。
  • 当多个进程把同一个对象映射到内存中时,数据会在所有进程间共享。只读和写共享的映射在全体中都是共享的;私有可写的映射对尚未进行写时拷贝的页是共享的。
  • 在映射对象中搜索只需要很简单的指针操作,不需要使用系统调用lseek()。

基于以上理由,mmap()是很多应用的明智选择。