互联网上有很多关于 Semaphore、Mutex 等的信息。但据我搜索,Monitors 上没有明确的信息。
我知道 Mutex 有助于进程之间的互斥。二进制信号量也有类似的功能。那么引入一个叫做 Monitor 的新概念有什么用呢?
互联网上有很多关于 Semaphore、Mutex 等的信息。但据我搜索,Monitors 上没有明确的信息。
我知道 Mutex 有助于进程之间的互斥。二进制信号量也有类似的功能。那么引入一个叫做 Monitor 的新概念有什么用呢?
从我的操作系统注释中,我以以下方式理解它。我首先要了解一个对象,它是一种抽象数据类型。
抽象数据类型(或 ADT)使用一组函数封装数据,以对数据进行操作,这些函数独立于 ADT 的任何特定实现。
监视器类型是一种 ADT,它包括一组程序员定义的操作,这些操作在监视器内提供互斥。监视器几乎等同于封装数据的对象,但有两个例外。
Monitor 是受管理的,并且更轻量级 - 但仅限于您的 AppDomain。Mutex 可以命名,并且可以跨越进程(允许应用程序之间的一些简单 IPC 场景),并且可以在需要等待句柄的代码中使用)。