java之并发&线程(二)

在并发量高一些的情况下。 if(a == 10){      a = 5; } 假设a是一个实例变量而不是局部变量,此时就可能会产生问题。在一个线程调用 if 部分时,另一个线程将a的值修改了。这时在堆中读取到的a的值是修改后的值,导致程序结果不正确。   计算机在执行程序时,每条指令都是在CPU中执行的,而执行指令过程中,势必涉及到数据的读取和写入。由于程序运行过程中的临时数据是存放在主存(物理
相关文章
相关标签/搜索