干货--并发编程提高-线程池要点(三十三)
"数据竞争"术语很容易与另外一个相关术语"竞态条件"混淆,"数据竞争"是指,如果在访问共享的非final类型的域时没有采用同步来进行协调,那么就会出现数据竞争,当一个数据写入一个变量而另一个线程接下来读取这个变量,或者读取一个之前由另一个线程写入的变量时,并且在这两个线程之间没有使用同步,那么就可能出现数据竞争。竞态条件出现的场景:比较经典的场景就是单例模式,单例模式首先判断对象是否初始化,如果没有则初始化,并创建一个新的对象并返回一个引用,从而在后台的调用中无须再执行这段高开销的代码。

































