nam*_*ked 8 java collections thread-safety
所有,
边缘Vector类具有over ArrayList,它是同步的,因此确保线程安全.但是,在CopyOnWriteArray和Vector之间,考虑到线程安全性和性能,应该首选什么.
总的来说,它取决于读写操作的频率和性质,以及数组的大小.
您需要在您的上下文中进行基准测试以确定,但这里有一些一般原则:
您可能还想考虑另外两个选项:
这取决于使用模式 - 如果您有更多的读取而不是写入,请使用CopyOnWriteArrayList,否则使用Vector.
Vector每次操作都会引入一个小的同步延迟,当CopyOnWriteArrayList写入延迟较长时(由于复制)但没有读取延迟.
另一个考虑因素是迭代器的行为 - Vector在迭代它时需要显式同步(因此写操作不能同时执行),CopyOnWriteArrayList否则.
| 归档时间: |
|
| 查看次数: |
5834 次 |
| 最近记录: |