如何让SQLite在Windows中使用基于互斥锁的锁而不是文件锁?

时间:2016-12-08 17:40:26

标签: windows sqlite

我有一个多进程Windows应用程序,它在磁盘上本地使用SQLite。

当一个进程在数据库上产生争用时,由于他们轮询数据库而没有通知其他进程,因此其他进程将被饿死。当没有锁定时,OS调度程序(如互斥锁)。

我为WXWorks找到了一个名为unix-namedsem的内置VFS,也许就是我正在寻找的 - 仅适用于Windows。

我的问题是否有现成的解决方案?或者我必须实现自己的VFS吗?

1 个答案:

答案 0 :(得分:1)

Windows VFS没有实现Mutex锁定,并且没有其他此类VFS用于Windows。

您必须自己实现该VFS,或者只是修改您自己的数据库函数以锁定所有事务周围的互斥锁。