当前位置:编程学习 > C#/ASP.NET >>

Thread.MemoryBarrier的问题,最后100分了!

--------------------编程问答-------------------- 不明觉历,LZ好像知道得太多了

感觉上Volatile只是阻止编译器做过多优化而已,
以避免把读写指定的变量的指令给优化掉就可以了。

所以这代码可能只是给编译器看的 :) --------------------编程问答-------------------- 就这样沉下去了????有人没有人呀 --------------------编程问答-------------------- MemoryBarrier 调用之后的内存存取,再执行 MemoryBarrier 调用之前的内存存取的方式
这就是说调用 MemoryBarrier 会同步多个处理器的缓存栈。

因此就包含了你说的刷新缓存中的脏数据。 --------------------编程问答-------------------- [MethodImpl(MethodImplOptions.NoInlining)]
public static int VolatileRead(ref int address)
{
    int num = address;
    MemoryBarrier();
    return num;
}

没啥好说的。。。反编译出来的read C#代码。。。。个人认为。。MemoryBarrier除了不允许乱序外,还强制从内存刷新数据了。。强调了内存读取顺序不能变,是不是就意味着。。不能使用系统缓存了吧? --------------------编程问答-------------------- 你要干什么?你想强 女 干 它吗
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,