当前位置:  技术问答>linux和unix

同步写讨论

    来源: 互联网  发布时间:2016-09-08

    本文导语:  大家说说sync(), fsync(),fdatasync(),O_SYNC的区别。。。 | APUE上解释得很清楚 sync是将IO的缓冲数据排进flush队列,它并不等待动作完成,直接就返回了。 fsync跟sync的区别是,fsync只针对某个文件,需...

大家说说sync(), fsync(),fdatasync(),O_SYNC的区别。。。

|
APUE上解释得很清楚
sync是将IO的缓冲数据排进flush队列,它并不等待动作完成,直接就返回了。
fsync跟sync的区别是,fsync只针对某个文件,需要一个文件描述符作参数。
fdatasync跟fsync的区别是,fdatasync只更新文件的数据部分(数据块),而fsync不但flush数据,也flush文件描述(i结点)。有些系统并不支持这个函数。
O_SYNC是一个打开标志,一个文件描述符带着这个标志打开的时候,所有的写动作都会等到物理上完成才返回。

|
sync()不是针对某个文件,同步磁盘跟内核缓存的数据。
fsync是只同步某个文件的内核缓存跟磁盘数据

|
fsync()跟O_SYNC不一样,
fsync()只是被调用的时候才会同步数据
而O_SYNC保证每次write的数据都到磁盘

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • C++ I/O 成员 sync_with_stdio():同标准I/O同步
  • 除了用现成的线程同步函数之外,能否自己写线程同步函数?
  • python下用os.execl执行centos下的系统时间同步命令ntpdate
  • linux时钟为何与BIOS时钟不同步?如何使其同步?
  • Linux下时钟同步问题:Clock skew detected原因分析及解决方法
  • discuz免激活同步登入代码修改方法(discuz同步登录)
  • Linux下用ntpdate同步时间及date显示设置时间
  • 内核同步?
  • 跨平台的文件同步工具 Capivara
  • 信息同步工具 SyncMate
  • 高清视频同步播放控制器 HDSync
  • NTP时间同步
  • 如何在一段程序同步几个变量??
  • linux服务器之间如何实现时间同步?
  • 日历同步统计 GCALDaemon
  • 数据同步和复制解决方案 SymmetricDS
  • linux虚拟机时间与windows时间如何同步
  • 集群同步工具 Csync2
  • 目录同步工具 DirSync
  • 文件夹比较和同步工具 FreeFileSync
  • 关于邮件系统同步的问题,高手请进


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3