如何在vc ++中重新启动一个线程,我已经使用CreateThread创建了它

时间:2009-08-26 06:49:56

标签: multithreading visual-c++

我正在使用vc ++并使用CreateThread函数创建一个线程。可以在完成任务后返回后重新启动它。

3 个答案:

答案 0 :(得分:5)

您无法重新启动已终止的线程。但是,您当然可以使用CreateThread启动具有相同功能的新线程。

答案 1 :(得分:4)

Martin绝对正确地说明一旦线程终止就无法重启。但是,我想指出,对于那些你知道需要反复执行某些任务的情况,你应该探索所谓的“线程池”。

本质上,线程池由许多 alive 并等待工作的线程组成。当您需要执行任务时,您只需将工作任务分配给一个这样的线程,当线程完成线程时,它将被放回等待工作状态。这种技术可以提供巨大的性能提升,因为创建线程会带来性能损失。

有关Windows本机线程池的更多信息,您可以启动here,但如果您的应用程序需要Windows线程池API中没有的功能,您也可以实现自己的线程池。

作为旁注,在.NET框架中也支持并强烈鼓励线程池。

答案 2 :(得分:0)

当然这听起来像是在线程中循环,而不是重新启动它。