为什么Java中的向量必须同步?

Ren*_*jam 0 java vector

我试图理解为什么Java中的向量必须同步.无论我通过谷歌到达哪里,他们说它的同步是因为它的元素被同步阻止其他线程在一个线程访问它时访问.但我真正想知道的是为什么它必须是?Java应该将它留给正在访问它的人.但是为什么Java强迫所有访问矢量的人使用同步数据结构呢?我同意那些说ArrayList可以用于我的要求的人.但我的观点是那个载体会给我什么?

谢谢和问候,Rengasami Ramanujam

duf*_*ymo 10

历史.

Vector是JDK 1.0的一部分; ArrayList不是.我们了解到,默认情况下同步意味着性能不佳,因此当Java Collections API问世时,它就被颠倒了.

您仍然可以选择同步使用方法所需的任何集合java.util.Collections,但这是您的选择.

您还应该了解作为java.util.concurrent软件包一部分的集合.同时访问馆藏当然需要仔细编排.