【发布时间】:2012-11-23 10:13:41
【问题描述】:
我有一张地图。让我们说:
Map<String, Object> map = new HashMap<String, Object>();
多个线程正在访问此映射,但是每个线程仅访问映射中自己的条目。这意味着如果线程 T1 将对象 A 插入到映射中,则可以保证没有其他线程将访问对象 A。最后线程 T1 也会删除对象 A。
也保证没有线程会遍历地图。
这张地图需要同步吗?如果是,您将如何同步它? (ConcurrentHashMap、Collections.synchronizedMap() 或同步块)
【问题讨论】:
-
是的,问题在于冲突和多线程添加,两个线程可能想要插入相同的哈希而不看到冲突,这可能是个问题。
-
是否有任何线程迭代地图?还是只是简单的 put() get() ?
标签: java multithreading concurrency