wir*_*her 2 java multithreading
我是Java线程的新手,我需要从几个活动线程访问数据结构。我听说java.util.concurrent.ConcurrentHashMap是线程友好的。synchronized(map){}
访问ConcurrentHashMap时是否需要使用它,否则它将自己处理锁?
它自己处理锁,实际上您无权访问它们(没有其他选择)
您可以synchronized在特殊情况下使用写操作,但是很少需要这样做。例如,如果putIfAbsent由于创建对象的成本很高而需要实现自己的实现。
使用syncrhonized进行读取会破坏使用并发集合的目的。