私はthis questionに受け入れられた答えにコードを実行しようとしたが、私のマシンで無期限に実行されます。この現象を引き起こすボンネットの下で何が起こっていますか?つまり、一方のスレッドは、他方のスレッドがそうでないと見なしていますか?人々はメインメモリにフラッシュされないが、このキャッシュはどこにあるのですか?それはJVMに置かれていますか、それはCPUメモリキャッシュですか、それともCPUレジスタですか?Javaのスレッド可視性問題の根本原因は何ですか?
0
A
答えて
0
あなたが指摘した問題で説明したように、volatileキーワードを持たない変数は、コンパイラのJITプロセッサによって何らかの形で最適化され、共有メモリからの読み出しがないようにすることができます。したがって、変数はスレッド用のCPUレジスタに格納され、異なる値を持つ2つの別個の変数(スレッドごとに1つ)を持つことで終了します。
これはなぜvolatile
キーワードが有用であるかを説明します。この非常に同じコードは、このキーワードがないと期待どおりに動作しない場合があります。
ここでははキャッシュ質問ですが、私は思っていますが、良い答えはありません。それはどの層にあってもよい。
:コメントは@polygnomeによって投稿されたリンクは素晴らしいです。あなたは間違いなくそれを読むべきです。
関連する問題
- 1. Javaの根本原因java.lang.OutOfMemoryErrorエラー
- 2. ConfigInstallアクションの失敗の根本原因は何ですか?
- 3. デッドロックの根本原因?
- 4. "USB Host support is unavailable"メッセージの根本原因は何ですか?
- 5. MVSでのアセンブリの未定義オペレーションコードエラーの根本原因は何ですか?
- 6. Javaスレッドの可視性
- 7. ORM(オブジェクト・リレーショナル・マッピング)は、Webサイトのパフォーマンス上の問題の根本的な原因ですか?
- 8. 数字:ネットワークの問題131の原因は何ですか?
- 9. Javaバイトコードの検証の原因となる問題は何ですか?
- 10. 連続ループが原因でスレッドの問題が発生する可能性がありますか?
- 11. メモリ不足警告の根本原因を追跡する
- 12. java.io.FileNotFoundExceptionの根本原因を検出します。
- 13. 「データバッグのアイテムをデータバッグにリストできませんでした」の根本原因は何ですか?
- 14. C#:最大プールサイズの根本原因に達しました
- 15. DataInputStream UTFDataFormatException:バイト88の不正な入力根本的な原因
- 16. 根本的な問題
- 17. 低速なJSPの根本原因を突き止める最良の方法は何ですか?
- 18. Divのjavascriptでの可視性 - 問題
- 19. スクロールバーFlexでの可視性の問題
- 20. Pexでの可視性の問題
- 21. Channel.Ping.Failedエラー重複したHTTPベースのFlexSessionsが検出されました根本原因は何ですか?
- 22. IEで問題の原因となるフォーム名の属性
- 23. 原因は何ですか
- 24. WL_AFHTTPRequestOperationManagerWrapper_PACKAGEに関連するデバッグログを取得する根本原因は何ですか
- 25. WPFアプリケーションがAppHangB1の問題イベント名でクラッシュする原因は何ですか?
- 26. MethodNotAllowedHttpExceptionの原因となるサーバー側の問題は何ですか
- 27. 根本原因:Automation Peer APIへの再帰呼び出しが無効です
- 28. #XFBML = 1原因問題
- 29. OpenERP IEの可視性の問題
- 30. IE7とIE8の可視性の問題
お返事ありがとうございます。私は@polygnomeが彼のコメントを削除したと思います、あなたが言及したリンクを追加してもよろしいですか? – Shane
あなたは質問がすでにリンクで返答されているとフラグが付けられました。そのリンクを確認してください。 – Xvolks