二つ以上のタスクがほぼ同時に同じ情報を使い、実行される順序によって結果が変わると、競合状態が起こります。

棚に商品が一つだけ残っていて、二人が同時に見つけて取ろうとする場面を想像してください。記録上の数量が間違ってしまうかもしれません。問題はどちらかの動きが遅いことではなく、操作が重なったことです。

プログラムは共有情報へのアクセスを調整し、一部の競合状態を防げます。実行のたびにタイミングが変わるため、再現が難しいこともあります。