开贴请教路人大神两个问题:一个MESI协议问题,另一个是经典的单例的双重检测线程安全问题
先抛问题和我自己的理解: 问题一:MESI协议问题比如这样一个场景:有一个变量a=0;有两个线程同时在多核环境下去执行a++去更改这个变量。 按照缓存一致性是不是应该是这样一个过程:两个cpu都把a读到缓存,此时a是一个S的状态,现在两个cpu都要去修改a,但是只能有一个cpu(假设是cpu1)把a修改为M状态,另一个会变为I(失效状态),当cpu2再要去执行a++的时候,会去主存读取...
原创
2017-08-24 15:04:15 ·
608 阅读 ·
10 评论