【发布时间】:2013-12-27 09:43:13
【问题描述】:
您好,我是 Java 多线程环境的新手。我必须在一个线程中添加、更新和删除集合中的一组对象。与此同时,我将在另一个线程中检查和迭代对象。
List 和 set 不是线程安全的。谁能告诉我哪一个集合/地图类更适合在多线程环境中使用?
【问题讨论】:
-
提供有关集合类型的更多详细信息。
-
docs.oracle.com/javase/7/docs/api/java/util/concurrent/… ... 我的意思是,你甚至用答案标记这个问题(谁赞成这个?)。
-
如果你能确保每个线程只有一个线程访问该集合,那么单线程集合仍然更好用。答案是;这取决于。 ConcurrentHashMap 很棒,但比 HashMap 大得多,速度也慢一些,只有在需要时才使用它。
标签: java multithreading collections concurrency java.util.concurrent