状況
在庫を減らす処理のレビュー。読み取りと書き込みの間に、別のリクエストが同じ行を更新できてしまう。
空欄に入る英単語を書いてください(c で始まる)。
There's a race ____ here: two requests can read the same stockand both decrement it. Can we use a transaction?正答
正答
condition解説
race condition(競合状態)は、複数の処理が同じデータを同時に扱い、実行の順番しだいで結果が変わってしまう不具合を指す。race は日常では「競走・人種」だが、ここでは処理どうしが先を争う様子を表している。例では 2 つのリクエストが同じ在庫数を読み、それぞれ 1 を引いて書き戻すので、2 つ売れても在庫は 1 しか減らない。race problem や race case とは言わない。トランザクションや行ロック、UPDATE で直接減らす書き方で防ぐ。
この問題を含む エンジニア英語 のテストを制限時間つきで解く
エンジニア英語クイズへ