如果你的代码所在的进程中有多个线程在同时运行,而这些线程可能会同时运行这段代码。如果每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安全的。一个线程安全的计数器类的同一个实例对象在被多个线程使用的情况下也不会出现计算失误。很显然你可以将集合类分成两组,线程安全和非线程安全的。
Vector 是用同步方法来实现线程安全的, 而和它相似的 ArrayList 不是线程安全的。
线程安全指的是在多线程环境下,多个线程访问同一份数据时能够保证数据的正确性和一致性。即使多个线程同时访问同一份数据,也不会出现数据混乱、数据不一致或数据丢失等问题。
Vector 是线程安全类。Vector 的实现方式是使用同步锁 synchronized 来保证线程安全。因此,在多线程环境下,多个线程可以同时访问 Vector 中的元素,而不会出现数据错误的问题。不过,由于使用 synchronized 会带来一定的性能损耗,因此在单线程环境下,使用 ArrayList 比使用 Vector 更容易获得更好的性能表现。

