0

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

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

4

2 回答 2

1

从我的操作系统注释中,我以以下方式理解它。我首先要了解一个对象,它是一种抽象数据类型。

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

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

  • 一次只能执行一个监视器的一个函数
  • 等待条件变量不占用监视器
于 2016-02-24T19:19:52.083 回答
0

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

于 2013-01-16T01:51:04.080 回答