c++ - 如果我为多个编写器使用额外的互斥锁,我可以在 SQLite3 中使用 WAL 模式吗?

标签 c++ sqlite mutex wal

http://sqlite.org/wal.html

WAL 模式是为 N 个读者和一个作者指定的。作者的身份可以互换吗?例如,我有 N 个编写器和一个额外的互斥体。每个写入者都必须获得这个互斥锁才能写入,所以永远不会有两个写入者同时写入。这可能吗?如果是这样,为什么这不是 SQLite 的一部分,因为对我来说,它似乎是 WAL 模式的自然扩展。

最佳答案

在 WAL 模式下,不可能有多个活跃的写入者。 但是,多个编写器尝试写入是可能的。 这种冲突的处理方式与回滚日志模式完全相同,即第一个写入者锁定数据库,其他人必须等待。

关于c++ - 如果我为多个编写器使用额外的互斥锁,我可以在 SQLite3 中使用 WAL 模式吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30846095/

相关文章:

SQL 组结果作为列数组

mysql - 未知的 SQL 错误

sql - 在 Where 子句中使用表

C++/GLFW - 使用 Mutex 对象的正确方法?

c++ - 如何在 C 代码中访问 C++ 结构的 std::string 成员

c++ - 类型未声明 C++

c - C中互斥锁返回的顺序

c++ - Boost 中的多读单写锁

c++ - 通过 move 赋值实现 B=f(A) 语法

c++ - std::unordered_map vector 下标超出范围