IT資格用語解説基本情報技術者試験・マルチプロセッサシステム
同期
更新日:
用語解説
並行・並列処理における同期は、複数のスレッドやプロセスの実行順序と共有データへのアクセスを調整し、競合状態や不整合を防ぐ制御です。
■ 試験で押さえるポイント
同じ変数を同時更新すると、読取りと書込みの順序により結果が変わる競合状態が起きます。クリティカルセクションをmutexやlockで相互排他にします。
セマフォはカウンタで同時利用数や通知を制御し、条件変数は条件成立まで待機、バリアは全参加処理が所定点へ到達するまで待ち合わせます。
ロック取得順序の循環はデッドロック、ある処理が資源を得られない状態はスタベーション、互いに譲り続け進まない状態はライブロックです。
同期を広く・頻繁に行うと待ち時間と直列部分が増えます。ロック範囲縮小、不変データ、メッセージパッシング、原子操作などで正しさと性能を両立します。
■ 選択肢での判断ポイント
相互排他=同時進入防止、バリア=処理段階の待合せ、デッドロック=循環待ちを区別します。時刻合わせだけが同期ではありません。
例: 二つのスレッドが残高を同時更新する場合、読取りから書込みまでをlockで保護しないと一方の加算が失われます。