複数のエントリのConcurrentHashMapの更新

user2377971:

互いに接続されている2以上のエントリ - 私はConcurrentHashMapのIMにIPアドレスとポートまたはペナルティ料及びコードのようないくつかの特性を記憶すること状況があります。

今、私は間違ったペアを読ん避けるために、アトミックにそれらの2つのエントリを更新したいです。

だから今イムそれについての思考といけないが、単純なsollutionを知っています。

私はReadWriteLockブロックと取得/置く方法をラップでしたが、それは間違って感じている:)私は、追加のロックを書くためのConcurrentHashMapを使用していませんよ。

その他のオプションを1つにそれらのプロパティをマージすることです。今、私は、そのオプションに傾いています。

その他のオプションは、値オブジェクトのバージョンを持っていることですが、その後、私はそれを毎回チェックする必要があると私はそれをやりたいいけない:)

その問題にはいくつかの他のsollutionはありますか?

よろしく

レドワルド:

あなたはアトミックに複数のエントリを更新することはできません。2つのオプションがあります。

  • シンプルを使用してHashMap外部同期で。

  • 以下のための異なるタイプを使用しMap一緒に考慮しなければならない項目の組を行く値を、。

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=209651&siteId=1