【问题标题】:File Locking in C++ For simultaneous Read and Write LockC ++中的文件锁定用于同时读取和写入锁定
【发布时间】:2013-07-25 20:46:36
【问题描述】:

如何锁定文件以进行读写操作。也就是说,如果“ABC”文件名处于写锁定状态,它也会对同一锁定文件提供读锁定。正常情况下,我们要等到写操作完成。所以如果有什么方法可以获得这种锁定

【问题讨论】:

标签: c++


【解决方案1】:

许多程序只是使用锁定文件来表示某个文件当前正在用于写入。

锁定文件稍后在写入完成后被删除。

例如,当进程#1 即将开始写入文件example 时,它会创建文件example.lock。稍后写完后,它会简单地删除example.lock

当进程#2 想要从文件example 中读取时,它首先检查文件example.lock 是否存在。如果是,则文件被锁定以进行写操作,进程#2 将不得不等待。

【讨论】:

    【解决方案2】:

    来自 Boost 的shared_mutex 实现读/写锁定。

    【讨论】:

    • 锁定文件在进程之间起作用; shared_mutex 没有
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-26
    • 2023-03-23
    相关资源
    最近更新 更多