java研发中什么是安全线程?
简单的说,不管有几个线程,不管谁先谁后,执行同一段逻辑,产生的结果都是相同的,那么这段程序就是线程安全的。
最常见的就是数字的读和写,如果不是原子操作,那么就可能存在以下情况:
A线程读取值为1,通过判断正确,将值+1,还没来得急写,这时B线程也进入该段逻辑,通过判断正确,将值+10,这时A写入,得到的值是2,而B线程得到的值是11,这种可能因为执行顺序得到不同结果的情况,就是非线程安全的。