我有一个线程应用程序,每个线程可能会将特定项目插入地图,或从地图中删除其插入的项目,但对于任何其他线程,他们只会使用查找或通过迭代器遍历整个地图。
同样,每个线程只会在地图上插入或删除一个其特定项目。
在这种情况下,我应该在插入或擦除之前添加锁以避免竞争吗?那怎么办?
我有一个线程应用程序,每个线程可能会将特定项目插入地图,或从地图中删除其插入的项目,但对于任何其他线程,他们只会使用查找或通过迭代器遍历整个地图。
同样,每个线程只会在地图上插入或删除一个其特定项目。
在这种情况下,我应该在插入或擦除之前添加锁以避免竞争吗?那怎么办?
不看代码,我只能说你使用 ConcurrentHashMap 来满足你的需要。您可能还想阅读以下内容:ConcurrentHashMap 和 Collections.synchronizedMap(Map) 有什么区别?