线程在ThreadStart Routine返回时自动停止吗?

时间:2011-09-14 11:51:14

标签: c# .net multithreading

我创建了一个新线程并为其分配了一个用ThreadStart执行的函数。 这是一个例子:

this.threadAppPtE = new Thread(new ThreadStart(synchronizeAppPte));

当我指定的功能结束或者我必须手动结束时,线程会自动停止吗?

2 个答案:

答案 0 :(得分:2)

是的,线程会自动终止,只要它没有被阻止并完成它的工作。显然你需要先调用threadAppPtE.Start()来启动它。

要重新加入线程,它尚未完成的位置更复杂。有一篇名为Create and Terminate Threads的好文章可能有助于更好地解释这个过程。

答案 1 :(得分:2)

http://msdn.microsoft.com/en-us/library/ms686724(v=vs.85).aspx

线程一直执行,直到发生以下事件之一:

  • 线程调用ExitThread函数。
  • 进程的任何线程都调用ExitProcess函数。
  • 线程函数返回。
  • 任何线程都使用线程句柄调用TerminateThread函数。
  • 任何线程都使用该进程的句柄调用TerminateProcess函数。