開発 相互排除(ミューテックス)とは何ですか? -techopediaからの定義

相互排除(ミューテックス)とは何ですか? -techopediaからの定義

目次:

Anonim

定義-相互排除(Mutex)とはどういう意味ですか?

相互排除(ミューテックス)は、共有リソースへの同時アクセスを防ぐプログラムオブジェクトです。 この概念は、プロセスまたはスレッドが共有リソースにアクセスするコードの一部であるクリティカルセクションを使用した同時プログラミングで使用されます。 一度に1つのスレッドのみがミューテックスを所有しているため、プログラムの起動時に一意の名前を持つミューテックスが作成されます。 スレッドがリソースを保持する場合、リソースの同時アクセスを防ぐために、他のスレッドからミューテックスをロックする必要があります。 リソースを解放すると、スレッドはミューテックスのロックを解除します。

Techopediaは相互排除(Mutex)について説明します

ミューテックスは、2つのスレッドが同じデータを同時に処理するときに見えてきます。 ロックとして機能し、最も基本的な同期ツールです。 スレッドがミューテックスを取得しようとするとき、利用可能な場合はミューテックスを取得します。 相互排除は、キューイングとコンテキストスイッチを使用して、待ち時間とビジー待機を削減します。 Mutexは、ハードウェアレベルとソフトウェアレベルの両方で適用できます。

カーネルレベルでミューテックスを実施し、共有データ構造の破損を防ぐには、最小数の命令で割り込みを無効にすることが最善の方法です。 複数のプロセッサが同じメモリを共有している場合、可用性に基づいてリソースの取得を有効または無効にするフラグが設定されます。 busy-waitメカニズムは、ソフトウェア領域でミューテックスを強制します。 これには、Dekkerのアルゴリズム、白黒ベーカリーアルゴリズム、Szymanskiのアルゴリズム、Petersonのアルゴリズム、Lamportのベーカリーアルゴリズムなどのアルゴリズムが備わっています。

相互排他的なリーダーと読み取り/書き込みミューテックスクラスコードを定義して、ミューテックスを効率的に実装できます。

相互排除(ミューテックス)とは何ですか? -techopediaからの定義