84669 人が学習中
152542 人が学習中
20005 人が学習中
5487 人が学習中
7821 人が学習中
359900 人が学習中
3350 人が学習中
180660 人が学習中
48569 人が学習中
18603 人が学習中
40936 人が学習中
1549 人が学習中
1183 人が学習中
32909 人が学習中
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 操作はブロックされません