【せまふぉ】
セマフォ とは?
💡 共有リソースへの「同時アクセス数」を制御する交通整理の仕組み
📌 このページのポイント
セマフォって何?
ミューテックスとどう違うの?
デッドロックって何?
実際のプログラミングでセマフォってどう使うの?
セマフォを使わないとどんな問題が起きるの?
たとえば100個のURLを並列でダウンロードするとき、セマフォなしだと100個のHTTP接続が一気に開いてサーバーに負荷をかけたり、自分のPCのメモリが不足したりする。セマフォで「同時に10個まで」と制限すれば安全に処理できる。実はOSのファイルディスクリプタにも上限があって、それを超えるとプログラムがクラッシュするんだよ。
📖 おまけ:英語の意味
「Semaphore」 = 腕木式信号機・手旗信号
💬 鉄道の腕木式信号機(セマフォ)から命名。Dijkstraが1965年に論文で発表した。「P」はオランダ語proberen(試みる)、「V」はverhogen(増やす)の頭文字