ConcurrentHashMap
これは、サポートスレッドセーフな同時並行検索や更新のHashMapの(ではなく、空のキーまたは値)です。
順番にJDK8CAS+synchronized
安全な同時性を確保します。
機能
効率性:
- 多くのスレッドは、指定されたコレクションにアクセスすることが予想される場合には
ConcurrentHashMap通常优于同步的HashMap
、ConcurrentSkipListMap通常优于同步的TreeMap
- 所望の読み出しと、リストの更新回数よりもはるかに大きい横断する場合、
CopyOnWriteArrayList优于同步的ArrayList
ConcurrentHashMap、HashMapのハッシュテーブルの違い:
- HashMapのは、一般的にシングルスレッドのプログラムで使用される、スレッドセーフなハッシュテーブルではありません。
- ハッシュテーブルは、それが同期ビルトインスレッドセーフロックによって保証されているので、比較的高いリソース競合環境の中で、ハッシュテーブルの効率が比較的低い、スレッドセーフなハッシュテーブルです。
- ConcurrentHashMapのは、HashMapののサポートスレッドセーフな同時操作ですが、彼は空のキーまたは値を格納することはできません。CASを使用して+効率がハッシュテーブルよりも高くなるので、同時アクセスしながら、同時の安全性、ブロッキングなしのスレッドを確保するために同期。
著者:テディバグウェルの
リンク:https://www.jianshu.com/p/0fb89aefac66
出典:ジェーン・ブック
著者によって予約ジェーン帳の著作権は、いかなる形で再現され、承認を得るために、作者に連絡して、ソースを明記してください。