一旦它的功能范围结束,线程是否会停止?

时间:2012-07-12 09:04:29

标签: c# multithreading

Thread myThread = new Thread(new ParameterizedThreadStart(threadFunction));

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

问题是:一旦myThread结束,threadFunction()会被处置吗?

2 个答案:

答案 0 :(得分:17)

不需要处理线程。 Thread类未实现IDisposable,并且没有Dispose方法。

当你的线程完成时,你不需要做任何特别的事情来清理。

答案 1 :(得分:2)

是..线程将停止并在函数返回后将被处理。
要保持线程,你必须做一些像

这样的事情
while(true){}

或者,如果您不希望处理线程,因为创建新线程会消耗资源 你应该使用ThreadPool .Net中有一个同名的类。
因此,每当您需要一个线程时,它将从线程池中获取并使用