我有静态库来访问数据库。它有一个函数readMaximum()
。
readMaximum()从DB读取最大值。此函数是线程安全的(使用互斥锁)。
但问题是:
有两个流程 A.exe 和 B.exe ;两者都使用静态库进行编译。
有没有办法可以在进程A.exe和B.exe之间实现互斥,这样当两个进程同时调用函数readMaximum()
时,只有一个允许进入关键部?
PS。我不想更改DB / Schema / Table的任何属性。
答案 0 :(得分:1)
您可以使用named semaphore。它对所有进程都是可见的,并且可以控制该行为。
答案 1 :(得分:1)
使用CreateMutex()创建命名的全局互斥锁。使用“Global \”前缀名称。
答案 2 :(得分:0)
POSIX具有可在进程间共享的互斥锁。