相关疑难解决方法(0)

boost interprocess file_lock不适用于多个进程

我似乎遇到了boost :: interprocess :: file_lock的问题

我有基本上的过程1

    boost::interprocess::file_lock test_lock("testfile.csv");
    test_lock.lock();
    sleep(1000);
    test_lock.unlock();
Run Code Online (Sandbox Code Playgroud)

当我在第一个进程正在休眠时运行第二个进程时,我发现我仍然能够读取testfile.csv.更糟糕的是,我甚至可以覆盖它.

我是否误解了file_lock的工作原理?我的印象是,调用.lock()会对文件进行独占锁定,并阻止任何其他进程读取/修改文件.

c++ file-io boost locking interprocess

3
推荐指数
1
解决办法
4335
查看次数

标签 统计

boost ×1

c++ ×1

file-io ×1

interprocess ×1

locking ×1