就是线程同步的意思,就是当一个程序对一个线程安全的方法或者语句进行访问的时候,其他的不能再对他进行操作了,必须等到这次访问结束以后才能对这个线程安全的方法进行访问
什么叫线程安全:
如果你的代码所在的进程中有多个线程在同时运行,而这些线程可能会同时运行这段代码。如果每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,
就是线程安全的。
或者说:一个类或者程序所提供的接口对于线程来说是原子操作或者多个线程之间的切换不会导致该接口的执行结果存在二义性,也就是说我们不用考虑同步的问题。
线程安全问题都是由全局变量及静态变量引起的。
若每个线程中对全局变量、静态变量只有读操作,而无写操作,一般来说,这个全局变量是线程安全的;若有多个线程同时执行写操作,一般都需要考虑线程同步,否则就可能影响线程安全。
存在竞争的线程不安全,不存在竞争的线程就是安全的
相关文章
- 03-29为什么说 StringBuilder 是线程不安全的且会发生数组越界问题而 StringBuffer 是线程安全的?
- 03-29【004期】你知道为什么HashMap是线程不安全的吗?
- 03-29HashMap 是线程安全的吗,为什么不是线程安全的(最好画图说明多线程环境下不安全)
- 03-29为什么ArrayList、LinkedList线程不安全,Vector线程安全
- 03-29什么叫线程安全?servlet 是线程安全吗?
- 03-29为什么HashMap线程不安全,Hashtable和ConcurrentHashMap线程安全
- 03-29当我们说线程安全时,到底在说什么——Java进阶系列(二)
- 03-29为什么op-assign运算符在java中不安全?
- 03-29java中什么叫原子操作?再给出个例子?
- 03-29ArrayList为什么线程不安全 线程不安全体现在哪些方面 源码角度分析其具体原因