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

Can I use WAL mode in SQLite3 if I use an additional mutex for multiple writers?

http://sqlite.org/wal.html

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

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