問題タブ [data-race]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
108 参照

java - マルチスレッド プログラムでの共有リソースの更新

誰かが次のプログラムの出力を説明できますか:

出力:

  • [8、5]
  • [9、2、2、8]
  • [2]

出力のさまざまな値の数を理解するのに苦労しています。メイン スレッドは、try-catch ブロックに参加しているため、すべてのスレッドの実行が終了するまで待機し、各スレッドから 1 つずつ、4 つの値を出力するか、中断した場合はコンソールに出力することを期待します。どちらもここでは実際に起こっていません。

これがマルチスレッドでのデータ競合によるものである場合、ここでどのように機能しますか?