ConcurrentHashMap 多线程获取数据时保证其他线程不会插入或者影响??
业精于勤,荒于嬉;行成于思,毁于随。
投稿者が何を聞きたいのか分かりません。
ThreadLocal を同期または使用する
ConcurrentHashMap は put であっても get であってもスレッドセーフです
投稿者が聞きたいのは、ConcurrentHashMap が取得時に put 操作をブロックするかどうかです。
いいえConcurrentHashMap の配列は次のように宣言されているためです: transient volatile Node<K,V>[] table;get 操作は現在のテーブル配列を読み取るだけです: tab = table。 ロックはありません。
そのため、Put 操作はブロックされません
投稿者が何を聞きたいのか分かりません。
ThreadLocal を同期または使用する
ConcurrentHashMap は put であっても get であってもスレッドセーフです
投稿者が聞きたいのは、ConcurrentHashMap が取得時に put 操作をブロックするかどうかです。
いいえ
ConcurrentHashMap の配列は次のように宣言されているためです: transient volatile Node<K,V>[] table;
get 操作は現在のテーブル配列を読み取るだけです: tab = table。 ロックはありません。
そのため、Put 操作はブロックされません