java - ConcurrentHashMap 多线程获取数据时保证其他线程不会插入或者影响?
迷茫
迷茫 2017-04-18 10:49:45
0
4
734

ConcurrentHashMap 多线程获取数据时保证其他线程不会插入或者影响??

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全員に返信(4)
左手右手慢动作

投稿者が何を聞きたいのか分かりません。

いいねを押す +0
Ty80

ThreadLocal を同期または使用する

いいねを押す +0
伊谢尔伦

ConcurrentHashMap は put であっても get であってもスレッドセーフです

いいねを押す +0
大家讲道理

投稿者が聞きたいのは、ConcurrentHashMap が取得時に put 操作をブロックするかどうかです。

いいえ
ConcurrentHashMap の配列は次のように宣言されているためです: transient volatile Node<K,V>[] table;
get 操作は現在のテーブル配列を読み取るだけです: tab = table。 ロックはありません。

そのため、Put 操作はブロックされません

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート