用語同期プリミティブはどういう意味ですか?例:ミューテックス、クリティカルセクション、待機可能タイマー、イベント、モニター、条件変数、セマフォ。それらはすべて同期プリミティブですか?リストにない他の同期プリミティブはありますか?そして、これらは有効な質問ですか?
同期プリミティブは、スレッドまたはプロセスの同期をサポートする目的で、プラットフォーム(オペレーティングシステムなど)がユーザーに提供する単純なソフトウェアメカニズムです。これらは通常、下位レベルのメカニズム(アトミック操作、メモリバリア、スピンロック、コンテキストスイッチなど)を使用して構築されます。
ミューテックス、イベント、条件変数、セマフォはすべて同期プリミティブです。共有ロックと排他ロックも同様です。モニターは一般に、高レベルの同期ツールと見なされます。これは、他の同期プリミティブ(通常、待機とシグナリングをサポートするための条件変数による排他的ロック)を使用するメソッドの相互排除を保証するオブジェクトです。一部のコンテキストでは、モニターがビルディングブロックとして使用される場合、同期プリミティブとも見なされます。
重要なセクションは同期プリミティブではありません。これは、いくつかの不変条件を維持するために、同時実行から保護する必要がある実行パスの一部です。クリティカルセクションを保護するには、いくつかの同期プリミティブを使用する必要があります。