java - concurrentHashMap源码中的readValueUnderLock(e)存在的意义?
巴扎黑
巴扎黑 2017-04-18 10:04:43
0
3
887
巴扎黑
巴扎黑

全員に返信(3)
迷茫

リーリー

前の文は、テーブル内にこの key があることを示しています。putvalue の場合、例外がスローされます。 リーリー nullこれは私のバージョンの上位バージョンであり、あなたのバージョンとは異なる可能性がありますが、値を空にすることはできません。

それで:

リーリー
空でない場合は、直接返すことができます。空の場合は、他のスレッドが操作していることを意味します。それで追加しました。

リーリー

現在のバージョンの

メソッドは、

get のように、HashEntry<K,V> eUNSAFE.getObjectVolatile() に変更して取得します。

いいねを押す +0
阿神

投稿者は JDK をアップグレードできます。1.8 を使用して検索しましたが、このコードは ConcurrentHashMap で見つかりませんでした。

いいねを押す +0
刘奇

オブジェクトは初期化時に null になります。この null はプログラム内で特別に割り当てられるわけではありません。

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