Çok parçalı uygulamaların kodlarını ve örneklerini okuyamaya devam ediyorum. Zaman zaman ben bir pasajı şöyle bakın:Başladıktan sonra bir iş parçacığına bir referans mı tutmalıyım?
class Program
{
static void Main(string[] args)
{
Console.WriteLine("started");
Go();
Console.WriteLine("press [ENTER] to quit");
Console.ReadLine();
}
private static void Go()
{
var thread = new Thread(DoSomething);
thread.Start();
}
private static void DoSomething()
{
Console.WriteLine("doing something");
}
}
Ve beni rahatsız tutar: Ben bir yere (önde) iplik referansı tutmalı? Sonuçta, Go
yönteminde yerel bir değişken. Bu nedenle, Go
'un yürütülmesi tamamlandığında, iş parçacığı referansı çöp toplanmalıdır. Öyleyse belki, belki de, yürütürken iş parçacığı GCed olacak?
Arka plan iş parçacığıysa, yanıt değişecek mi?
Şimdiden teşekkürler!
haklı. Endişelenecek bir şey yok çünkü bir iplik bir GC köküdür. –
Cevabınız için teşekkürler. Bu konuda belgelenmiş bir referans için herhangi bir şans? –
Elbette, bir referans ekledim. –