volatile既然不阻塞线程,怎么保证原子操作呢?
也就说,我理解其实还是有线程阻塞的,那么为什么还说volatile变量不会造成线程阻塞呢?
可能我猜想说的意思是,各线程不用等(因为被阻塞其实就是等,就是cpu被霸占了,你不能剥夺),正常使用cpu切换,并且读的就是主存中该变量的值(其实是将主存中的值放入线程的副本中)。
但我理解,还是有阻塞的。
volatile既然不阻塞线程,怎么保证原子操作呢?
也就说,我理解其实还是有线程阻塞的,那么为什么还说volatile变量不会造成线程阻塞呢?
可能我猜想说的意思是,各线程不用等(因为被阻塞其实就是等,就是cpu被霸占了,你不能剥夺),正常使用cpu切换,并且读的就是主存中该变量的值(其实是将主存中的值放入线程的副本中)。
但我理解,还是有阻塞的。