2
當一個網站同時擊中具有非靜態變量的相同靜態方法時,即使未聲明爲靜態,這些變量是否是靜態的?我會這樣認爲的,但我不得不問。靜態新手:靜態類/方法中的非靜態變量是否意味着靜態?
另一種選擇是相同的代碼,不同的執行有不同的內部變量,所以這段代碼不會產生例如有意想不到的字符串長度:
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;
}
}
問題總結:
- 是沒有聲明的靜態方法變量靜態隱含靜態,即同時執行靜態代碼會相互影響嗎?
- 或者做這些變量都有各自的存儲空間嗎?
- 和Thread.Sleep(5000)在一個靜態方法中停止所有用戶的執行?
TYVM。我使用LinqPad創建了一個例子來證明它。我有三個線程計數,倒計時,不計算,只報告變量內容。像你所描述的那樣工作。 – 2011-12-15 23:28:11