【问题标题】:File synchronization with mutex使用互斥锁进行文件同步
【发布时间】:2012-01-31 15:37:03
【问题描述】:

如果我想管理“完美”的并发文件访问,在 C(Linux 和 Windows)中 喜欢:

  1. A 打开一个文件并开始写一些东西
  2. B 同时打开同一个文件并等待 A 结束其工作
  3. A 关闭文件。
  4. B 现在可以写了。
  5. ...等等...

你认为我必须使用 mutex 吗? O_EXCL 也应该工作吗? 更好的选择?

【问题讨论】:

    标签: c file concurrency mutex


    【解决方案1】:

    A 和 B 是线程还是程序?

    如果它们是单独的程序,最好只让一个文件同时打开以进行写入,即使您设法在两个应用程序之间同步访问,您也必须非常小心刷新缓冲区以确保它们确实在您期望的状态。

    【讨论】:

      【解决方案2】:

      如果 A 和 B 是不同的线程,可以使用互斥锁或信号量来实现它们之间的同步。你可以在http://www.yolinux.com/TUTORIALS/LinuxTutorialPosixThreads.html找到更多关于 mutext 的信息

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-06-10
        • 2012-08-28
        • 1970-01-01
        • 2014-05-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多