线程安全就是多线程访问时,采用了加锁机制,当一个线程访问该类的某个数据时,进行保护,其他线程不能进行访问直到该线程读取完,其他线程才可使用。不会出现数据不一致或者数据污染。(Vector,HashTab;le) ,比如vector是同步的,因为java会有相应的机制是同一时刻只有一个线程对这个变量操作。并且 Vector 明确地设计为在多线程环境中工作。
线程不安全就是不提供数据访问保护,有可能出现多个线程先后更改数据造成所得到的数据是脏数据。(ArrayList,LinkedList,HashMap等)。
如何判定是否线程安全呢?如果每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安全的。线程安全问题都是由全局变量及静态变量引起的。
线程安全与不安全详解
本文详细介绍了线程安全的概念及其实现原理,探讨了在多线程环境下,如何通过加锁机制确保数据的一致性和避免数据污染。同时对比了线程安全与线程不安全的集合类如Vector与ArrayList的区别。
995

被折叠的 条评论
为什么被折叠?



