私は3つのHashMapを含むシングルトンクラスを持っています。各ハッシュマップはプールのように動作します。私はそこに未使用のエントリを置く。同時実行性の変更例外が発生したため、同期化を実装する予定でした。私の問題は、すべて同じロックを使用すると、パフォーマンスの問題が発生する可能性があるということです。なぜなら、そのプールのエントリを作成するときに、それはWebサービス呼び出しによって行われるからです。私は各ハッシュマップが同時に実行されないようにする必要があるので、3つのオブジェクトロックを作成しても問題ありませんか?シングルトンクラスの異なるロック
0
A
答えて
2
ConcurrentHashMapをお勧めします。
表は内部的にパーティション化されており、競合なしに指定された数の同時更新を許可しようとしています。
concurrencyLevelパラメータを使用してパフォーマンスを調整してください。
+1
チューニングは、ほとんどの状況では必ずしも必要ではありません@Alexey。私は何百ものCHM実装を書いたことがあり、何も調整する必要はありませんでした。 – Gray
関連する問題
- 1. マルチスレッドアプリケーションのシングルトンクラス、ロックの提案
- 2. シングルトンクラスは2つの異なるシングルトンオブジェクトを返します
- 3. 異なるオブジェクトのロックでのマルチスレッド
- 4. 異なるPostgresセッションからのロックとロック解除
- 5. Pythonマルチプロセッシングのロックの異常な動作
- 6. 継承されたフック:2つの異なるサブクラスに対して異なるシングルトンクラスを作成する
- 7. Direct3DのVertexBufferロック()と異なるD3DPOOLによって実装ロック解除()関数
- 8. シングルトンクラス
- 9. 目的C NSLock:異なるスレッドでNSLockをロックおよびロック解除する
- 10. 異なるスレッドからの解放ロックの解放
- 11. シングルトンクラスは
- 12. Javaシングルトンクラス
- 13. Laravelのシングルトンクラス5
- 14. シングルトンクラスの配列
- 15. シングルトンクラスのコアデータ
- 16. シングルトンクラスの寿命
- 17. シングルトンクラスのバックグラウンドサービス
- 18. シングルトンクラスのメモリリーク
- 19. シングルトンクラスの実装バージョン
- 20. シングルトンクラスとマルチスレッド
- 21. Dbシングルトンクラスが失敗する
- 22. remoteControlReceivedWithEventがシングルトンクラスを呼び出さない
- 23. タブバで動作しないシングルトンクラスiphoneアプリケーション
- 24. シングルトンクラスでのApplicationContextAwareの使用
- 25. シングルトンクラスのインスタンス関数のオーバーロード
- 26. ルビのシングルトンクラスとそのユーティリティ
- 27. シングルトンクラスとインスタンス変数
- 28. iOSシングルトンクラス(MVCアーキテクチャ内)
- 29. PHPシングルトンクラス生涯ハック
- 30. (Guice)シングルトンクラスを拡張すると別のリストになる
"ハッシュマップごとに3つのオブジェクトロックを作成できますか?" - 大丈夫ですが必要です。 – Fildor
@Fildor単一の共有ロックで何が問題になっていますか? – shmosel
@EldonHipolito必要に応じて、実際のマップオブジェクトをロックとして使用できます。 – shmosel