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

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

排他制御を使用した場合

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

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

排他制御をしたクリティカルセクションとは、1つスレッドのみが使用権を得ることができるプログラム上の処理領域である。この使用権ロック (lock) と呼ばれることもある。 あるスレッド排他制御をしたクリティカルセクション入っている間は、別のスレッドクリティカルセクションに入ることができない。普通はそのスレッド待機状態になる。 このカウンタプログラムの場合プログラム最初、つまり上の場合でいうと処理1の前に排他制御ロック獲得してクリティカルセクションに入るという処理を付け加え必要がある。そして、スレッド終了する前に排他制御ロック解放してクリティカルセクションから出るという処理を付け加えれば完了である。 ここで、先ほど同様にスレッドAが処理1、処理2を終わらせて処理3を実行する前にスレッドBが発生したとする。しかし、ここで既にスレッドAがロック獲得してクリティカルセクション入っていることから、スレッドBはロック獲得できず処理を開始できないため待機態となる。そしてスレッドAが処理を終えクリティカルセクションから出ると他のスレッドロック獲得できるようになり、スレッドBが待機解除して処理を再開する結果として意図したとおりの正し動作になる。 以上の処理を時間沿ってまとめたものが以下の表である。なおクリティカルセクションCS略している。 ディスク上のスレッドA(値)スレッドB(値)CS所有者100 スレッド発生 100 CSに入る スレッドA 100 処理1(100) 100 処理2(101) 100 待機 スレッド発生 100 CSに入ることに失敗 101 処理3(101) 待機 101 CSから出てスレッド終了 101 CSに入る スレッドB 101 処理1(101) 101 処理2(102) 102 処理3(102) 102 CSから出てスレッド終了

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

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



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

辞書ショートカット

すべての辞書の索引

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

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

   

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



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

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

©2024 GRAS Group, Inc.RSS