“共享变量”一词是什么意思?它与“全局变量”有什么不同?

时间:2014-05-19 15:04:26

标签: multithreading variables memory concurrency

MSDN documentation on writing network drivers使用术语"共享变量",例如:

  

当处理器请求彼此独立的共享变量时,会发生错误共享。但是,由于变量位于同一缓存行中,因此它们在处理器之间共享。在这种情况下,高速缓存行将在处理器之间来回移动,以便每次访问其中的任何变量,从而导致高速缓存刷新和重新加载的增加。这会增加系统总线利用率并降低整体系统性能。

我不明白"共享变量"是什么意思?这里。我知道全局变量,局部变量和静态变量。这是其中之一的另一个术语,还是它有所不同?

2 个答案:

答案 0 :(得分:0)

共享变量是在线程之间共享的变量。这与静态程序范围完全正交。

答案 1 :(得分:0)

在 OOP 中,共享变量是可以被多个对象访问的变量。 全局变量是范围最大的变量,因为它们可以在任何地方使用。

来源:“Smalltalk 编程 - 从头开始​​面向对象”,第 52 页