【问题标题】:Is CreateMutex process-safe?CreateMutex 过程安全吗?
【发布时间】:2014-08-02 01:08:50
【问题描述】:

我正在从两个进程创建一个命名互斥体,并且我正在检查该命名互斥体是否已经存在。

对 CreateMutex 的两个调用是否都可能返回一个“新”互斥锁(不是进程/线程安全的)?

【问题讨论】:

    标签: thread-safety mutex


    【解决方案1】:

    如果这样的互斥体(可以在进程间使用)不是“进程安全”的,那将毫无意义!

    CreateMutex 中暗示了这一点:

    .. 如果互斥锁是一个命名的互斥锁,并且该对象在此函数调用之前已经存在,则返回值是现有对象的句柄。

    两个或多个进程可以调用 CreateMutex 来创建同名互斥锁。第一个进程实际上创建了互斥锁,后续进程 [..] 只需打开现有互斥锁的句柄。这使得多个进程能够获得同一个互斥体的句柄..

    多个进程可以拥有同一个互斥对象的句柄,从而可以使用该对象进行进程间同步..

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-04
      • 2014-04-26
      • 2012-11-30
      • 2010-12-30
      • 2013-03-12
      相关资源
      最近更新 更多