創屋ぷれす

ミューテックス (Mutex)

Mutexとは、Mutual Exclusion (相互排他、排他制御) の省略形です。

同じく排他制御に使われるセマフォ(Semaphore)と比較すると次のような違いがあるようです。

セマフォ
– カウント数で制御する
– 別のタスクも返却可

ミューテックス
– ロック/非ロックの2値で制御する
– ロックしているタスクだけがアンロック可

後者の特徴は、
値が0/1に制限されたセマフォであるバイナリセマフォと
ミューテックスの差異になるようです。

ところで、排他制御の研究は1965年に
エドガー・ダイクストラ(Edsger Wybe Dijkstra)という
オランダ人の計算機科学者が発表した論文から始まっているようです。

この方はプログラミングに次の影響を与えてる偉人です。
– 構造化プログラミングの普及
– 分散コンピューティングの先駆者
– セマフォの概念の考案
他にはダイクストラ法も有名とのこと。

色々な問題について深堀りしていくと、
最終的には偉人の功績に行きつくことが多いですね。

Comments are closed.