原子性:
一个操作中国cpu不会再在中途进行其他调度工作,会保证操作的完整性(eg:cpu调度了一个线程,自增值后会完成 主存赋值)
可见性:
多个线程访问同一个变量时,一个线程修改了变量值,其他线程能够立刻看到被修改后的值
有序性:
因为虚拟机内部代码编译时,为追求运行效率,会进行指令重排序,这种情况,在单线程中是安全的,在多线程中就不是安全的。所以要保证代码的执行有序性。
一个操作中国cpu不会再在中途进行其他调度工作,会保证操作的完整性(eg:cpu调度了一个线程,自增值后会完成 主存赋值)
多个线程访问同一个变量时,一个线程修改了变量值,其他线程能够立刻看到被修改后的值
因为虚拟机内部代码编译时,为追求运行效率,会进行指令重排序,这种情况,在单线程中是安全的,在多线程中就不是安全的。所以要保证代码的执行有序性。