2012-07-12 14 views
11
Thread myThread = new Thread(new ParameterizedThreadStart(threadFunction)); 

public void threadFunction() { 
// Run a finite code 
... 
} 

Soru: myThreadthreadFunction() bir kez bertaraf edilecek mi?İşlevi kapsam bittiğinde bir iş parçacığı kendini durduruyor mu?

+0

kullanılacaktır; İşlev tamamlandığında, iş parçacığı durumu "Durduruldu" olarak ayarlanır ve sonunda çöp toplanır. Ayrıca bkz .: http://stackoverflow.com/questions/81730/what-prevents-a-thread-in-c-sharp-from-being-collected – dash

+0

Evet, işiniz tamamlandığında iş parçacığınız otomatik olarak atılacaktır. – Siddiqui

cevap

16

İpliklerin atılmasına gerek yoktur. Thread sınıfı, IDisposable uygulanmaz ve Dispose yöntemine sahip değildir.

İş parçanız tamamlandığında, temizlemek için özel bir şey yapmanız gerekmez.

2

EVET .. iplik olmak üzere iplik istemiyorsanız
sen Alternatif

while(true){} 

böyle bir şey yapmak zorunda kalacaktır iplik tutmak .. duracak ve fonksiyon döndüğünde bertaraf edilecektir Yeni bir iş parçacığı oluşturmak için
kaynak tükettiği için atılan bir ThreadPool kullanmalısınız. Net aynı ada sahip bir sınıf var.
böylece bir iş parçacığına ihtiyaç duyduğunuz her zaman iş parçacığı havuzundan alınacak ve en sonunda

İlgili konular