【问题标题】:Monitor as synchronization on Windows在 Windows 上作为同步监控
【发布时间】:2014-11-10 03:23:58
【问题描述】:

monitor 在 Windows 上是否有任何实现?我没有看到任何 win32 API 引用监视器。

【问题讨论】:

    标签: winapi synchronization


    【解决方案1】:

    Windows 没有自己的监视器实现。但是,Vista 引入了Condition VariablesSlim Reader/Writer locks,可以一起使用来创建监视器实现。

    【讨论】:

    • 是的,条件变量或 SRW 锁是实现监视器的必要构造,但我想知道为什么操作系统不直接实现这样一个基本概念(此处为 Windows)。
    • 你必须向微软询问。
    • @Thomson:因为它不是“基本的”,当然也不是原始的。操作系统只为其他库和框架提供服务。
    【解决方案2】:

    是的。 Windows有监视器和监视器功能: EnterCriticalSection 类似于 POSIX pthread_mutex_lock(进入监视器)。 LeaveCriticalSection 类似于 POSIX pthread_mutex_unlock(离开监视器)。

    SleepConditionVariableCS 类似于 POSIX pthread_cond_wait。

    WakeConditionVariable ... POSIX pthread_cond_signal。

    WakeAllConditionVariable ... POSIX pthread_cond_broadcast

    您可以在这里找到所有这些功能:

    https://msdn.microsoft.com/en-us/library/windows/desktop/ms686360(v=vs.85).aspx

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多