基本情報技術者CPU・記憶装置・並行実行の判断オリジナル・公式資料照合難易度
共有キューから要素を取るスレッドが、ロックの下でキューが空なら条件変数で待つ。待ちから戻っても条件が成立するとは限らない仕様である。正しい基本構造はどれか。
A
一度だけifで空を確認し、起床後は無条件に取り出す
起床後に条件が偽である可能性を扱えない。
B
起床後にキューが空かを調べず、ロックを外してから要素を取得する
起床だけで要素を取得できる保証はない。保護された状態を確認して操作する必要がある。
C
待っている間ずっとCPUを使う無限ループへ必ず置換する
述語の保護や正当性を解決せず、CPUを浪費する。
D
待ちから戻るたび、ロックの下で空かをwhile等で再確認する★ 正解
起床通知だけで、対象スレッドが利用可能な要素を確保したとは限らない。述語を再確認してから操作する。
解説
起床通知だけで、対象スレッドが利用可能な要素を確保したとは限らない。述語を再確認してから操作する。
根拠資料・確認情報
対応範囲:2026年度 基本情報技術者試験 科目A・B/シラバスVer.9.2
資料確認日:2026-11-02
アプリ内の初回回答データ
回答データを読み込んでいます。