2

私はWeb開発にかなり慣れていません。競合状態について読んだことから、ノードまたはJSではシングルスレッドであるため不可能だと思いましたが、それは..間違っていると思います。この小さな例で、誰かがそれがどのように機能するかを説明できます.

$1000 ドルの銀行口座があり、2 人のユーザーがサーバーにまったく同時にアクセスして、まったく同じ秒で口座に請求したとします。1 人目は 600 ドル、2 人目は 200 ドルです。

最初の請求は $1000 ~ $600 となり、残りは $400 になります。しかし、2 回目の請求がまったく同時に発生したため、1000 ドルから 200 ドルになり、残高は 800 ドルになります。明らかに残高が$200になるはずです。

競合状態を引き起こす私の理解から、いいえ?この問題を回避するには、どのように設定しますか? 正確なコードは必要ありません。おそらく誰かがこれを説明してくれるか、疑似コードです。

前もって感謝します。

編集:コードが最初にどのように設定され、競合状態が発生するかについて編集します。

以下の投稿のように。コードは、アカウントがヒットしたときに金額を差し引いて新しい残高を与えるように設定されます。明らかに、それは競合状態を引き起こします。

4

1 に答える 1