Semaphore、Mutex などについては、インターネット上に多くの情報があります。しかし、私が検索した限りでは、モニターに関する明確な情報はありません。
Mutex がプロセス間の相互排除に役立つことを知っています。バイナリ セマフォも同様の機能を果たします。では、モニターという新しい概念を導入して何の役に立つのでしょうか。
Semaphore、Mutex などについては、インターネット上に多くの情報があります。しかし、私が検索した限りでは、モニターに関する明確な情報はありません。
Mutex がプロセス間の相互排除に役立つことを知っています。バイナリ セマフォも同様の機能を果たします。では、モニターという新しい概念を導入して何の役に立つのでしょうか。
私のオペレーティングシステムのメモから、次のように理解しました。まず、抽象データ型であるオブジェクトを理解することから始めます。
抽象データ型 (ADT) は、ADT の特定の実装に依存しないデータを操作する一連の関数を使用してデータをカプセル化します。
モニター タイプは、モニター内で相互排除が提供される一連のプログラマ定義の操作を含む ADT です。モニターは、2 つの例外を除いて、データをカプセル化するオブジェクトとほぼ同等です。
モニターは管理されており、より軽量ですが、AppDomain に制限されています。Mutex は名前を付けることができ、複数のプロセスにまたがることができ (アプリケーション間のいくつかの単純な IPC シナリオを許可します)、待機ハンドルが必要なコードで使用できます)。