どのようにアトミックな方法でコードをスレッドセーフにすることができますか?アトミックな方法の用途は何ですか?
-2
A
答えて
1
concurrency and locking in Javaを少し読んでみてください。また、他のSOスレッドをJava memory model/concurrencyでチェックしてください。
1
アトミック操作は、中断できない操作です。
一般的な同期の問題は、あるスレッドが同期メカニズムによって保護されていないデータ構造を更新するときに発生するため、スレッドが他のスレッドによって足元から変更されているため、古い値または矛盾した値を読み取る可能性があります。
この問題を回避するメカニズムは、データ構造へのアクセスを同期させるため、注文を行い、他のスレッドがアクセスする前に1つのスレッドがデータ構造の使用を完了するようにします。
これらの同期メカニズムは、動作している間にスレッド自体がスケジュールされていないことを確認する必要があります。
これらのメカニズムは、動作を保証するために、これらのアトミックな操作の観点から実装されています。たとえば、semaphoresは、原子インクリメントと 'テストとデクリメント'演算子を使用しています。
これは大部分のテーマで、通常は「分散システム」の対象となります。この用語は、並行性を理解するためのより良いリソースにつながる可能性があります。
関連する問題
- 1. 作者はアトミックな方法ですか?
- 2. キーボードポーリングの用途は何ですか?
- 3. Clojureメタデータの用途は何ですか?
- 4. SetWriteDeadlineの用途は何ですか
- 5. IPM.Noteとは何ですか?その用途は何ですか?
- 6. @privateとは何ですか?その用途は何ですか?
- 7. Java NIO Bufferクラスの主な用途は何ですか?
- 8. ビットアレーの一般的な用途は何ですか?
- 9. spEL(Spring Expression Language)の有効な用途は何ですか?
- 10. VSコマンドプロンプトの最適な用途は何ですか?
- 11. NPM package.jsonファイルの主な用途は何ですか?
- 12. App Engineのカウンタをアトミックにインクリメントする正しい方法は何ですか?
- 13. 特殊化図とは何ですか?その用途は何ですか?
- 14. GPXファイルとは何ですか?その用途は何ですか?
- 15. 保護されたコンストラクタの実用的な用途は何ですか?
- 16. GCMクラウド接続サーバーでのアップストリームメッセージングの主な用途は何ですか?
- 17. 春のプロジェクトでAOPの最も一般的な用途は何ですか
- 18. アドビのRTMPプロトコルの用途は何ですか?
- 19. ConcurrentBag <T>の実際の用途は何ですか?
- 20. 収量の実際の用途は何ですか?
- 21. JSFの "flash"スコープの用途は何ですか?
- 22. 「空のプロジェクト」の用途は何ですか
- 23. Javaエージェントの興味深い用途は何ですか?
- 24. Android端末エミュレータの用途は何ですか?
- 25. Key-Valueデータベースの用途は何ですか?
- 26. ASP.NET Handler(.ashx)ファイルの目的と用途は何ですか?
- 27. Derby DBのVARCHARではなくLONG VARCHARの実用的な用途は何ですか?
- 28. 用途一部のAndroid方法
- 29. ブースト/ C++ 0x/C++ 1x /コンピュータサイエンスのアトミックとは何ですか?
- 30. PHP配列の途中に要素を配置する簡単な方法は何ですか?
あなたの質問を少し明確にしたいと思うかもしれません... "アトミックな方法"はあまり具体的ではなく、明確ではありません。 –
これは非常に分かりやすく、難解な質問です。 「原子的な方法」とは何ですか?多分あなたはアトミックメソッドを意味しますか?または同期メソッド? –