看了书之后不是很理解,按照我的理解来看,CPU0最先执行LDREX指令时候,获取了全局监视器和CPU0的本地监视器都看作是1,完了CPU0最先执行STREX之后,释放了全局监视器和本地监视器,就看做都是0把,然后CPU1在T2时LDREX发现全局监视器已经为1,然后设置本地监视器为1,到T4时,全局监视器已经被CPU0置为0了,就无法在共享数据区存数据了,所以失败的不应该是CPU1吗,为什么书上说的是失败的CPU0呢
相似问题