ホームページ  >  に質問  >  本文

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

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

迷茫迷茫2765日前708

全員に返信(4)返信します

  • ringa_lee

    ringa_lee2017-04-18 10:51:45

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

    返事
    0
  • PHP中文网

    PHP中文网2017-04-18 10:51:45

    ThreadLocal を同期または使用する

    返事
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-18 10:51:45

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

    返事
    0
  • 大家讲道理

    大家讲道理2017-04-18 10:51:45

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

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

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

    返事
    0
  • キャンセル返事