排他制御を使用しない場合とは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > ウィキペディア小見出し辞書 > 排他制御を使用しない場合の意味・解説 

排他制御を使用しない場合

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/02/12 13:56 UTC 版)

クリティカルセクション」の記事における「排他制御を使用しない場合」の解説

ここで、現在ディスク書き込まれているカウンタの値が100だったとするユーザーAがこのウェブページ訪れ、カウンタプログラムのスレッドAが実行され始めたとしようスレッドAは処理1でカウンタの値を読み出し(値は100)、処理2で値を増やす(値は101)。次に処理3で値を書き戻すのだが、ここでユーザーBがウェブページ訪れたことにより別のスレッドBが実行されすぐさまコンテキストスイッチ起きて処理がスレッドBに移されたとするスレッドBがカウンタの値を読み出すと値は100になる。なぜならばスレッドAがまだ処理3を完了していないため、ディスク上の値は変化していないからである。そして、スレッドBは値を増やしその結果101という値をディスク書き込みスレッド終了する次に再びスレッドAに処理が移りスレッドAは処理3を行ないディスクには101という値が書き込まれて、スレッドAも処理を終える。 結果としてユーザーAとユーザーBの2人ページ訪れたので、本来カウンタの値は2増えて102にならなければならないのに、最終的にディスク書き込まれた値は101となり、破綻をきたす。 以上の処理を時間沿ってまとめたものが以下の表である。 ディスク上のスレッドA(値)スレッドB(値)100 スレッド発生 100 処理1(100) 100 処理2(101) 100 待機 スレッド発生 100 処理1(100) 100 処理2(101) 101 処理3(101) 101 スレッド終了 101 処理3(101) 101 スレッド終了

※この「排他制御を使用しない場合」の解説は、「クリティカルセクション」の解説の一部です。
「排他制御を使用しない場合」を含む「クリティカルセクション」の記事については、「クリティカルセクション」の概要を参照ください。

ウィキペディア小見出し辞書の「排他制御を使用しない場合」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「排他制御を使用しない場合」の関連用語

排他制御を使用しない場合のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



排他制御を使用しない場合のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、Wikipediaのクリティカルセクション (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS