volatile有什么用(有序性)?
volatile保证内存可见性和禁止指令重排。
用一句话说明volatile的应用场景
volatile用于多线程环境下的单次操作(单次读或者单次写),它能确保线程安全
volatile变量能否保证原子性(原子性)?
不能,volatile变量能保证写操作在读操作之前,它不能保证原子性,例如count++,如果想保证volatile的原子性,可以和 CAS 结合,详 细的可以参见 java.util.concurrent.atomic 包下的类,比如 AtomicInteger
网友评论