一个线程只读一个线程修改可以不加锁吗?
来源:4-2 如何写出线程安全的程序?

慕设计2078437
2020-05-18
最近面试遇到一个问题,有一个变量,a线程修改b线程只读,不加锁可以吗?会不会存在a线程修改到一半b线程就读了然后b线程读出来的结果是错乱的情况。
写回答
1回答
-
理论上还真有可能,基本类型的 long 和 double 的读写在32位的虚拟机上印象中就可能出现这种情况。
一般你说的这种场景,如果变量的修改是原子的,加volatile就行了。
不加的话就是只读的线程可能会晚一点读到修改
20
相似问题