【发布时间】:2011-11-23 11:14:50
【问题描述】:
如果这是一个愚蠢的问题,我很抱歉。例如,如果 Foo.StaticBar() 被两个线程调用,那么这两个方法的作用域中是否会有共享的东西?例如,方法的局部变量等?我知道类变量和属性会被共享
【问题讨论】:
如果这是一个愚蠢的问题,我很抱歉。例如,如果 Foo.StaticBar() 被两个线程调用,那么这两个方法的作用域中是否会有共享的东西?例如,方法的局部变量等?我知道类变量和属性会被共享
【问题讨论】:
不,局部变量不会被共享,因为它们是您调用的静态方法的本地变量。
唯一共享的是静态方法之外但在类内部的状态,即静态成员变量。
【讨论】:
每次调用方法时,局部变量都是私有的。如果该方法使用在该方法之外声明的任何资源(例如静态字段),则该资源将为两个调用共享。
【讨论】: