【发布时间】:2012-01-14 23:28:07
【问题描述】:
我的问题可能是新手或重复,但我想知道当多个线程尝试同时读取静态变量时会发生什么。我现在对同步不感兴趣,我只想知道他们是立即阅读还是轮流阅读?
更新: 我的问题更多是在物理领域或类似的领域(= 如果线程读取变量的时间相同。
【问题讨论】:
-
如果你担心它是重复的,你应该先搜索。
-
我想这是轮流完成的,虽然读取之间的时间非常非常短
-
变量的类型是什么?
-
@abatishchev,更多时候是引用类型
-
这是个好问题。假设您有多个内核,因此可以使用正确类型的内存同时执行两条指令,我相信您可以在同一位置进行并行访问。 GPU 内存针对这类事情进行了优化。即我相信 nvidia GPU 具有这种能力——建议阅读 CUDA 手册。还有akkadia.org/drepper/cpumemory.pdf
标签: c# .net multithreading static static-variables