哪些 List 实现是线程安全且高性能的?
我所说的高性能是指,我有一个具有多次读取访问权限和少量写入访问权限的列表。 所以我需要一个使用 ReadWriteLock 的 List 实现。
http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/locks/ReadWriteLock.html
ReadWriteLock : The read lock may be held simultaneously by multiple reader threads, so long as there are no writers. The write lock is exclusive.
最佳答案
哪些 List 实现是线程安全且高性能的?
CopyOnWriteArrayList 和 Vector 是 List 的线程安全实现。
在这 2 个 CopyOnWriteArrayList 被认为是高性能的情况下,许多读取访问是通过很少的写入操作完成的。它还在内部使用 ReentrantLock。
注意:- 在 CopyOnWriteArrayList 的情况下,所有可变操作(添加、设置等)都是通过制作底层数组的新副本来实现的,这就是为什么它应该仅在多次读取访问且很少的情况下使用写访问。 API
关于java - java中优化的线程安全列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25630223/