namespace usenewagain
{
class Program
{
public static Thread thread1;
static void Main(string[] args)
{
thread1 = new Thread(() => threadsDelegate(TimeSpan.FromMinutes(1), 1));
thread1.Start();
while(thread1.IsAlive)
{
}
thread1 = new Thread(() => threadsDelegate(TimeSpan.FromMinutes(2), 1));
thread1.Start();
while(thread1.IsAlive)
{
}
Console.WriteLine("Done...");
Console.ReadLine();
}
}
}
據我可以告訴在這個控制檯程序再次使用thread1新的是合法的,它似乎工作正常。據我所知,thread1被第二次調用new所覆蓋。我可以得到一些驗證,再次使用新的方法是有效的嗎?再次在C中使用新的對象#
謝謝...
那麼運行GC.Collect可能會有幫助嗎? – Giuseppe
@ user2209542不,它不會幫助。即使您運行GC.Collect,如果仍然存在對該線程的引用,它將不會被收集。我個人喜歡避免手動垃圾收集,讓垃圾收集器做它的事情。 –
所以沒有其他的參考只有thread1所以你必須說沒有問題,在這種情況下thread1將被垃圾收集。 – Giuseppe