ジャワの伝統的な収集と並行コレクション内のremove()メソッドの利点は何ですか?

シャンティBhardwaz:

私はとの根本的な違いを知っているremove()ような伝統的な収集方法hashMapなどの同時収集をconcurrentHashMapconcurrentHashmapJVMはマルチスレッド環境のために必要とされるキー値のオブジェクトを削除する前に、両方のキーと値と一致します。それらの間の他の違いはありますか?

トムホーティン - tackline:

私はそこに二、なぜあなたが求めていると思うremoveの同時マップ内のメソッド。

Map あります。

V remove​(Object key)

ConcurrentMap持っている追加の方法を:

boolean remove​(Object key, Object value)

(実際には、Map1.8以降のデフォルトの方法としてこれを持っています。)

非同時にMap、二引数形態が容易合成によって書かができget、続いてremove2つのルックアップの費用で、。同時操作は、しかし、構成されていません。同時マップの場合、あなたは見ることができるremoveのと同じようにループ内で使用compareAndSet一般的に使用されています。

あなたが最初に使用した場合は、通常のコレクションインタフェースを介して、単一の操作で削除操作を実行する可能性がentrySetそれだけで非常に便利かは明らかではありません。

おすすめ

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