我们构造出一个例子:
工作内存中有一个共享的变量 int number =0
我们有四个线程:线程1、线程2、线程3、线程4
假设线程中的操作都是对 number++
我们做出假设:
开始四个线程都将共享变量读入到自己的工作内存中,同时执行++操作,然后
线程1将自己的变量刷新到主内存中,此时值为 number =1,因为变量发生的变化
,线程2、线程3都开始重新读取数据进行操作,线程4在没有收到变量发生改变的
通知之前,已经将自己的变量刷新到主内存,此时主内存中的变量 number 还是等
于1,但此时线程1、线程4都已经执行完,所以最后的结果时2或者3.