クリティカルセクション
クリティカルセクション
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/12/27 09:10 UTC 版)
「ランポートのパン屋のアルゴリズム」の記事における「クリティカルセクション」の解説
クリティカルセクションとは、リソースへの排他的アクセスを要するコードであり、一度に1個のスレッドだけが実行できる。パン屋のアナロジーで言えば、店員が1人しかいないので他の客が待たされるのに等しい。 あるスレッドがクリティカルセクションに入ろうとしたとき、最初に自分の順番かどうかを調べなければならない。スレッドは自分の番号が最も小さいことを確認するために他の全スレッドの番号をチェックする。他のスレッドが同じ番号を持っている場合、i が最も小さいスレッドが優先される。 擬似コードでは、この比較を以下の形式で書いている: (a, b) < (c, d) これは、以下の式に等しい: (a < c) or ((a == c) and (b < d)) スレッドがクリティカルな処理を終えたら、番号を削除して「非クリティカルセクション」に移行する。
※この「クリティカルセクション」の解説は、「ランポートのパン屋のアルゴリズム」の解説の一部です。
「クリティカルセクション」を含む「ランポートのパン屋のアルゴリズム」の記事については、「ランポートのパン屋のアルゴリズム」の概要を参照ください。
- クリティカルセクションのページへのリンク