相关疑难解决方法(0)

什么时候应该在C#中使用volatile关键字?

任何人都可以在C#中对volatile关键字提供一个很好的解释吗?它解决了哪些问题,哪些问题没有解决?在哪些情况下它会节省我使用锁定?

c# multithreading

290
推荐指数
8
解决办法
8万
查看次数

半围栏和全围栏?

我一直在阅读,以Full fences防止任何类型的指令重新排序或缓存围栏(通过memoryBarrier)

然后我读到了volatile 哪些会产生"半围栏":

volatile关键字指示编译器在每次从该字段读取时生成一个获取栅栏,并在每次写入该字段时生成一个释放栅栏.

acquire-fence

获取栅栏可防止其他读/写在栅栏前移动;

release-fence

释放栅栏可防止在栅栏后移动其他读/写.

有人可以用简单的英语向我解释这两句话吗?

(围栏在哪里?)

编辑

在这里得到一些答案后 - 我已经制作了一幅可以帮助每个人的图画 - 我想.

http://i.stack.imgur.com/A5F7P.jpg 在此输入图像描述

.net c# multithreading

13
推荐指数
1
解决办法
3286
查看次数

标签 统计

c# ×2

multithreading ×2

.net ×1