假设在C#多线程编程中,我们有一个全局的共享类对象O。多线程可以并发读取O的各种只读字段(即无写,只读)。这是否会带来额外的开销,或者读取性能预期与单线程读取一样快?
发布于 2021-10-11 21:43:53
简单的读取不会产生任何开销。
需要强制内存排序的读操作可能会。volatile字段或Volatile.Read的使用不仅在特定的单个操作方面有开销,而且还会阻止对周围代码的一些优化,因为它具有获取语义。
https://stackoverflow.com/questions/69532656
复制相似问题