2

Javaドキュメントに従って

通常、取得操作 (get を含む) はブロックされないため、更新操作 (put および remove を含む) と重複する場合があります。検索は、開始時に保持されている最新の更新操作の結果を反映します。putAll や clear などの集計操作の場合、同時取得は一部のエントリのみの挿入または削除を反映する場合があります

質問 : スレッド t1 がキーと値のペア (x と呼ばれる) を更新し、次に別のスレッド t2 が来て x を読みたいとします。t2 の開始時に x のコピー c1 が作成され、t2 はそれから読み取ります。コピー c1

4

2 に答える 2

1

質問 : スレッド t1 がキーと値のペア (x と呼ばれる) を更新し、次に別のスレッド t2 が来て x を読みたいとします。t2 の開始時に x のコピー c1 が作成され、t2 はそれから読み取ります。 c1をコピー

場合によります。T1 の操作が完了すると、T2 にその値が表示されます。それ以外の場合、T2 には古い値が表示されます。

http://docs.oracle.com/javase/6/docs/api/java/util/concurrent/ConcurrentHashMap.htmlから:

検索は、開始時に保持されている最新の更新操作の結果を反映します。putAll や clear などの集計操作の場合、同時取得は一部のエントリのみの挿入または削除を反映する場合があります

于 2013-05-12T03:59:53.670 に答える