假設我有一個像這樣一個靜態方法:調用靜態方法上一個新的線程
public static string ProcessMessage()
{
string testString = " this is test ";
....
return testString ;
}
而另一種方法SendMessage函數:
public void SendMessage()
{
Thread th = new Thread(this.ProcessMessage);
th.Start();
th.Join();
}
會發生什麼事SendMessage函數是一個右後另一個叫幾次。
假設第一個線程調用ProcessMessage並在第一行,另一個線程調用ProcessMessage,第一個線程會發生什麼?它會永遠完成,因爲ProcessMessage是一個靜態方法? ProcessMessage屬性將如何?線程2會覆蓋線程1?
恩,你似乎試圖在方法中聲明*屬性*。這是無效的。如果您要問我們代碼在執行時的表現如何,它需要是有效的代碼。 – 2013-04-08 15:12:34
如果你試過你會得到'預計一個無效簽名的方法' – 2013-04-08 15:14:17
在Jon的基礎上,你不能通過'this'調用'ProcessMessage',因爲它是一個靜態方法。如果它們在同一個類中,則應該使用類名稱或方法名稱。 – vlad 2013-04-08 15:15:31