交换两个线程,使得当调用concurrentHashMap的putIfAbsent时,其中一个线程变为null

时间:2016-05-28 15:13:40

标签: java multithreading concurrenthashmap

有人可以解释两个线程的交错,这样当两个线程在Java中调用putIfAbsent的{​​{1}}时,其中一个线程会变为空吗?

1 个答案:

答案 0 :(得分:3)

来自putIfAbsent的javadoc:

  

<强>返回:
  与指定键关联的先前值,如果没有键的映射,则返回null。

因此,第一个尝试将值放入地图的线程将始终返回string