我想知道除了使用synchronized
和Hashtable
之类的Vector
数据结构,还是使用包装器之外,还有其他方法可以使非同步数据结构成为线程安全的比如Collections.synchronizedList(List<T> arg)
或Collections.synchronizedMap(Map<K,V> arg)
?
我在面试中被问到如何使hashmap线程安全,我告诉他使用Hashtable
或ConcurrentHashMap
或使用Collections.synchronizedMap
包装器,但是,看起来像这些答案不是他想要的
答案 0 :(得分:4)
是的,你可以成功immutable。这实际上是在许多情况下使代码线程安全的绝佳方法。
答案 1 :(得分:2)
是。如果您自己同步构建。但出于明显的原因,不建议这样做......