2017-05-03 3 views

答えて

-1

セマフォは一般化されたmutexです。シングルバッファの代わりに、4KBのバッファを4つの1KBバッファ(同一のリソース)に分割することができます。これらの4つのバッファにセマフォを関連付けることができます。消費者と生産者は、同時に異なるバッファで作業することができます。

http://www.geeksforgeeks.org/mutex-vs-semaphore/

+0

一般的なエンティティがある場合、なぜ特殊なエンティティが必要ですか?なぜ私たちはいつも一般化されたものを使うことができないのですか? – pavelkolodin

0

ミューテックスは、コードのクリティカルセクションを保護するために主に存在します。セマフォと比較すると、コードがより簡単で短く、またはより豊富な機能を提供できるため、セマフォよりも優れたパフォーマンスを実現できます。

mutexには、「通常の」ミューテックス、再帰的なミューテックス、共有ミューテックス(リーダーライターロック)など、さまざまな種類があります。いくつかのミューテックス実装では、優先度の逆転を優先させるために "優先度の継承"を実装しようとする可能性があります。セマフォの使用パターンが広すぎるため、これはセマフォーには実装できません。

関連する問題