最近在探索时,ConcurrentSkipListMap
我浏览了它的实现,发现它的 put 方法不是线程安全的。它在内部调用doPut
实际添加项目。但是我发现这个方法并没有使用任何类似于ConcurrentHashMap
.
因此,我想知道是否add
是线程安全的。看看这个方法,它似乎不是线程安全的——也就是说,如果这个方法由两个线程同时执行,那么可能会出现问题。
我知道ConcurrentSkipListMap
内部使用跳过列表数据结构,但我希望add
方法是线程安全的。我理解有什么问题吗?真的ConcurrentSkipListMap
不是线程安全的吗?