我正在从两个进程中创建一个命名互斥锁,我正在检查命名互斥锁是否已经存在。
是否有可能,这两个调用CreateMutex将返回一个"新的"互斥(不是进程/线程安全)?
如果这样的互斥锁(可以在进程间使用)不是"进程安全"的,那将是毫无意义的!
这在CreateMutex中是隐含的:
. .如果该互斥锁是一个命名的互斥锁,并且该对象在调用此函数之前已经存在,则返回值是对现有对象的句柄。
两个或多个进程可以调用CreateMutex来创建同名互斥锁。第一个进程实际创建互斥锁,而后续进程[…]简单地打开现有互斥锁的句柄。这使得多个进程可以获得同一个互斥锁的句柄。
多个进程可以有同一个互斥对象的句柄,允许使用该对象进行进程间同步。