并发编程的三个要素
-
并发编程的三个要素
在并发编程中,可见性是指当一个线程修改了共享变量的值后,其他线程能够立即看到这个修改。可见性问题是由于现代计算机系统中存在多级缓存、指令重排序等原因导致的。原因 1. 多级缓存:现代计算机系统中存在多级缓存,每个线程在执行时会将共享变量从主内存加载到自己的缓存中进行操作,这就导致了一个线程对共享变量的修改对其他线程不可见。2. 指令重排序:为了提高程序执行效率,编译器和处理器可能会对指令进行重排序,这可能会导致共享变量的修改顺序与预期不一致。解决方法 1. 使用volatile关键字:volatile关键字可以保证...