【问题标题】:In process synchronization, what is a Monitor?在进程同步中,什么是 Monitor?
【发布时间】:2013-01-16 01:22:35
【问题描述】:

互联网上有很多关于 Semaphore、Mutex 等的信息。但据我搜索,Monitors 上没有明确的信息。

我知道 Mutex 有助于进程之间的互斥。二进制信号量也有类似的功能。那么引入一个叫做 Monitor 的新概念有什么用呢?

【问题讨论】:

  • @OliCharlesworth 我读过它,但我需要一个准确的含义。到目前为止,整篇 wiki 文章让我感到困惑.. 把事情搞得一团糟
  • 您在寻找什么(确切地说)没有在那里解释? (或者它链接到的外部参考之一没有涵盖)
  • @OliCharlesworth 互斥用于 Mutex。 Wain和signal用于信号量。 Wiki 文章将这两个概念结合到 Monitors 中。但是我们的教授说显示器和其他两个完全不同。

标签: process semaphore mutual-exclusion


【解决方案1】:

根据我的操作系统说明,我是这样理解的。我首先要了解一个对象,它是一种抽象数据类型。

抽象数据类型(或 ADT)用一组函数封装数据 对独立于任何特定实现的数据进行操作 的 ADT。

监视器类型是一种 ADT,包括一组程序员定义的 监视器内部提供互斥的操作。监视器几乎相当于一个封装数据的对象,但有两个例外。

  • 一次只能执行一个监视器的一个函数 线程是
  • 等待条件变量不占用监视器

【讨论】:

    【解决方案2】:

    Monitor 是托管的,并且更轻量级 - 但仅限于您的 AppDomain。 Mutex 可以命名,并且可以跨进程(允许应用程序之间的一些简单 IPC 场景),并且可以在需要等待句柄的代码中使用。

    【讨论】:

    • 谢谢!但我需要一个通用的监视器定义。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-17
    • 2021-10-11
    • 1970-01-01
    • 2014-03-01
    • 1970-01-01
    • 2013-05-07
    相关资源
    最近更新 更多