当一个网站同时遇到具有非静态变量的相同静态方法时,即使没有声明为静态,这些变量是静态的吗?我会这么认为,但我不得不问.
另一种选择是相同代码的不同执行具有不同的内部变量,因此该代码不会产生意外的字符串长度,例如:
public static class MyClass
{
public static int getResult(string ext)
{
int length = est.length; // One place in RAM or multiple?
Thread.Sleep(5000); // Does this stop program execution for others?
return length;
}
}
Run Code Online (Sandbox Code Playgroud)
问题摘要:
你正在显示局部变量.所以不,那些不是静态变量.每次调用该方法时(包括它是否以递归方式调用),您都会获得一组新的变量.不同的线程不会共享这些变量.请注意,这与作为静态类的类无关.您需要区分:
Thread.Sleep只使当前线程休眠 - 如果你的应用程序有多个线程,其他线程仍然可以执行.
| 归档时间: |
|
| 查看次数: |
447 次 |
| 最近记录: |