一、原子性(Atomicity)
定义:即一个操作或者多个操作,要么全部执行并且不被打断,要么就都不执行。
二、可见性(Visibility)
定义:当一个线程修改了共享变量的值,其他线程会马上知道这个修改。当其他线程要读取这个变量的时候,最终会去内存中读取,而不是从缓存中读取。
三、有序性(Ordering)
定义:虚拟机在进行代码编译时,对于那些改变顺序之后不会对最终结果造成影响的代码,虚拟机不一定会按照我们写的代码的顺序来执行,有可能将他们重排序。实际上,对于有些代码进行重排序之后,虽然对变量的值没有造成影响,但有可能会出现线程安全问题。

Last modification:November 18, 2023
如果觉得我的文章对你有用,请随意赞赏