エンジニア英語記述難易度 標準

状況

在庫を減らす処理のレビュー。読み取りと書き込みの間に、別のリクエストが同じ行を更新できてしまう。

空欄に入る英単語を書いてください(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 で直接減らす書き方で防ぐ。

参考: www.postgresql.org

concurrencyrace-conditionreview

この問題を含む エンジニア英語 のテストを制限時間つきで解く

エンジニア英語クイズへ