Thread.MemoryBarrier() 如何刷新缓存?

How does Thread.MemoryBarrier() flush cache?

提问人:user22155685 提问时间:10/25/2023 最后编辑:user22155685 更新时间:10/26/2023 访问量:79

问:

Thread.MemoryBarrier()使程序从主内存中获取值而不是使用寄存器,但是如果我们有以下程序:

_a = xxx;
_b = xxx;
Thread.MemoryBarrier();
_c = xxx;
_d = xxx;

是所有_a、_b、_c_d值都是从主内存中获取的,还是只有包装的变量 _b 和 _c 是从主内存中获取的,还是只有 _c 和 在障碍之后从主内存中获取?_d

C# .NET CLR 线程同步

评论

1赞 shingo 10/25/2023
你从哪里得到这个例子?A和B怎么称呼?
1赞 JonasH 10/25/2023
我建议远离记忆障碍,除非你真的知道自己在做什么。一般来说,多线程是困难的,但至少 等相当容易解释和推理。lockTask

答: 暂无答案