Java 交错两个线程,这样当调用concurrentHashMap的putIfAbsent时,其中一个线程将为null
有人能解释一下两个线程的交错,当两个线程在Java中调用Java 交错两个线程,这样当调用concurrentHashMap的putIfAbsent时,其中一个线程将为null,java,multithreading,concurrenthashmap,Java,Multithreading,Concurrenthashmap,有人能解释一下两个线程的交错,当两个线程在Java中调用ConcurrentHashMap的putIfAbsent时,其中一个线程变为null吗?来自以下的javadoc: 返回: 与指定键关联的上一个值,如果该键没有映射,则为null 因此,尝试将值放入映射的第一个线程将始终返回null。请澄清您的具体问题或添加其他详细信息,以突出显示您需要的内容。正如目前所写的,很难准确地说出你在问什么。请参阅“如何询问”页面,以获得澄清此问题的帮助。请通读,尤其是您是否阅读了它返回的内容?它没有像许多人想
ConcurrentHashMap
的putIfAbsent
时,其中一个线程变为null吗?来自以下的javadoc:
返回:与指定键关联的上一个值,如果该键没有映射,则为null
因此,尝试将值放入映射的第一个线程将始终返回
null
。请澄清您的具体问题或添加其他详细信息,以突出显示您需要的内容。正如目前所写的,很难准确地说出你在问什么。请参阅“如何询问”页面,以获得澄清此问题的帮助。请通读,尤其是您是否阅读了它返回的内容?它没有像许多人想象的那样返回新值。“返回:与指定键关联的上一个值,如果没有该键的映射,则返回null。(如果实现支持null值,则返回null也可以表示之前与该键关联的映射为null。)”有趣的是,我曾多次查看该文本和javadoc,但不知何故没有注意到它们并非100%相同。。。很抱歉。