java - java中优化的线程安全列表

标签 java multithreading list locking

哪些 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 实现是线程安全且高性能的?

CopyOnWriteArrayListVector 是 List 的线程安全实现。

在这 2 个 CopyOnWriteArrayList 被认为是高性能的情况下,许多读取访问是通过很少的写入操作完成的。它还在内部使用 ReentrantLock。

注意:- 在 CopyOnWriteArrayList 的情况下,所有可变操作(添加、设置等)都是通过制作底层数组的新副本来实现的,这就是为什么它应该仅在多次读取访问且很少的情况下使用写访问。 API

关于java - java中优化的线程安全列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25630223/

相关文章:

java - 从 DBpedia 资源中获取 Sesame 2.7.1 的数据类型错误

java - 如何在java线程中设置优先级

c++ - 多线程代码中缓存友好的数组迭代模式

python - 迭代列表的不同方法

c++ - 在 list<int> 或 vector<int> 中添加备用数字

JAVA - 使用 FOR、WHILE 和 DO WHILE 循环对 1 到 100 求和

java - 如何获取所有CPU信息

java - 为什么返回类型 String 不允许我在函数中返回字符串

c# - C#:Thread.Sleep无法正常工作

python-3.x - python 3.x : Trying to compare current element with previous and next (without built-in functions)