相互排斥(在静态库中)

时间:2010-01-21 03:25:46

标签: c++ windows informix

我有静态库来访问数据库。它有一个函数readMaximum()

readMaximum()从DB读取最大值。此函数是线程安全的(使用互斥锁)。

但问题是:

有两个流程 A.exe B.exe ;两者都使用静态库进行编译。

有没有办法可以在进程A.exe和B.exe之间实现互斥,这样当两个进程同时调用函数readMaximum()时,只有一个允许进入关键部?

PS。我不想更改DB / Schema / Table的任何属性。

3 个答案:

答案 0 :(得分:1)

您可以使用named semaphore。它对所有进程都是可见的,并且可以控制该行为。

答案 1 :(得分:1)

使用CreateMutex()创建命名的全局互斥锁。使用“Global \”前缀名称。

答案 2 :(得分:0)

POSIX具有可在进程间共享的互斥锁。