i++是不是原子操作的?
i++ 和++i都不是原子操作的,为了保证原子性可以使用AtomicInteger类的getAndIncrement()方法实现
谈谈你对Volatile的理解?
-
禁止指令重排
-
一个变量被volatile修饰之后,该变量对所有线程都是可见的,被修改的变量会立即同步到主存,
-
不能保证原子性
这个关键字的作用是什么?
这个关键字的作用就是告诉编译器,只要是被volatil关键字修饰的变量都是易变的、不稳定的。因为volatile所修饰的变量是直接存在于主内存中的,线程对变量的操作也是直接反映在主内存中,所以说其是易变的。
网友评论