如何使非同步数据结构线程安全

时间:2012-08-20 20:52:57

标签: java thread-safety synchronized

我想知道除了使用synchronizedHashtable之类的Vector数据结构,还是使用包装器之外,还有其他方法可以使非同步数据结构成为线程安全的比如Collections.synchronizedList(List<T> arg)Collections.synchronizedMap(Map<K,V> arg)

我在面试中被问到如何使hashmap线程安全,我告诉他使用HashtableConcurrentHashMap或使用Collections.synchronizedMap包装器,但是,看起来像这些答案不是他想要的

2 个答案:

答案 0 :(得分:4)

是的,你可以成功immutable。这实际上是在许多情况下使代码线程安全的绝佳方法。

答案 1 :(得分:2)

是。如果您自己同步构建。但出于明显的原因,不建议这样做......