全,
边缘向量类在ArrayList上的优点是它是同步的,因此确保线程安全。然而,在CopyOnWriteArrayList和Vector之间,应该考虑线程安全和性能方面的优先考虑。
发布于 2010-10-12 19:14:51
总的来说,它取决于读写操作的频率和性质,以及数组的大小。
您需要在上下文中进行基准测试才能确定,但以下是一些一般原则:
。
您还可以考虑另外两个选项:
发布于 2010-10-12 18:45:13
这取决于使用模式--如果您的读取量比写入量大得多,请使用CopyOnWriteArrayList,否则使用Vector。
Vector为每个操作引入了一个小的同步延迟,当CopyOnWriteArrayList有较长的写入延迟(由于复制),而对于读取则没有延迟。
另一个考虑因素是迭代器的行为-- Vector在迭代它时需要显式同步(因此写操作不能同时执行),CopyOnWriteArrayList不需要。
https://stackoverflow.com/questions/3917810
复制相似问题