競合状態
きょうごうじょうたい
競合状態(Race Condition)とは、複数の処理が同時に行われる際、その実行順序やタイミングによって、予期しない間違った結果が生じてしまうバグのこと。データベースの同時書き込みなどで発生しやすく、排他制御(ロック)などで防ぐ必要がある。
最終更新: 2026/1/17
概要
競合状態とは、競合状態(レースコンディション)とは、複数の処理が同時に行われる際、その順序やタイミングによって予期せぬ結果(バグ)が生じてしまうこと。
詳しい解説
競合状態(レースコンディション)とは、複数の処理が同時に行われる際、その順序やタイミングによって予期せぬ結果(バグ)が生じてしまうこと。 複数の処理が、競争(Race)するように同じデータにアクセスしようとする状態から。早い者勝ちで結果が変わってしまう。
具体例
「マルチスレッド処理で変数の参照タイミングがズレて、競合状態によるバグが発生した」「競合状態を防ぐために、ロックをかけて排他制御を行う」
由来・語源
複数の処理が、競争(Race)するように同じデータにアクセスしようとする状態から。早い者勝ちで結果が変わってしまう。
使用例
「マルチスレッド処理で変数の参照タイミングがズレて、競合状態によるバグが発生した」「競合状態を防ぐために、ロックをかけて排他制御を行う」
関連用語
- 同義語:
- 関連: デッドロック, 排他制御, バグ, データベース, 変数