虽然ConcurrentHashMap是线程安全的,但是是针对ConcurrentHashMap的内部方法的单一操作。
有些情况下,是无法保证线程安全的。
如下:
如果线程安全,应该输出10000那么针对如上 操作,如何保证在不失效率的情况下,保证线程安全呢?
或者
或者
如上,我们知道了,在多线程中,如果需要对ConcurrentHashMap进行get、put等系列线程安全操作,还是需要自己再一次手动实现合并操作的线程安全编程。
测试2
如上,只能说明ConcurrentHashMap是线程安全的,如果Obj.add()不加synchronized修饰不能说Obj类的add方法是线程安全的。
网友评论