synchronized(Java升级计划2)

synchronized原理为什么会出现脏读呢?当两个线程同时对一个共享数据进行操作的时候,如下图:会把内存中的x=1读到工作空间,然后进行+1,这个时候就有一个CPU的时间片轮询的情况。当线程1进行执行的时候,读取x=1到工作空间,然后+1,刚好CPU轮询的时间到了,此时线程1中x=2的结果还没有