【はいたせいぎょ】
排他制御(ミューテックス) とは?
💡 トイレの「使用中」ランプ――入ったらロック、出たら解除!
📌 このページのポイント
排他制御って何? なんだか怖そうな名前だけど…
全然怖くないよ!トイレの「使用中」ランプをイメージしてみて。誰かが入ったらランプが点いて、他の人は待つよね。それと同じで、あるデータを1人だけが操作できるようにする仕組みだよ
排他制御しないとどうなるの?
例えば銀行口座の残高が1000円のとき、AさんとBさんが同時に500円引き出そうとすると、両方とも「残高1000円あるからOK」と判断して合計1000円引き出せちゃう。残高がマイナスになって大問題だよね。これがレースコンディションと呼ばれる不具合だよ
どうやって排他制御するの?
ミューテックス以外にも方法があるの?
排他制御って使いすぎると問題になったりしないの?
プロのエンジニアでも間違えることがあるの?
言語が守ってくれるなんて心強いね!
まとめ:ざっくりこれだけ覚えればOK!
排他制御って出てきたら「同時に触ると壊れるから1人ずつ順番にアクセスさせる仕組み」と思えばだいたいOK!
📖 おまけ:英語の意味
「Mutual Exclusion」 = 相互排除
💬 Mutual(お互いの)+ Exclusion(排除)で「お互いに同時には入れない」という意味だよ