我正在使用vc ++并使用CreateThread函数创建一个线程。可以在完成任务后返回后重新启动它。
答案 0 :(得分:5)
您无法重新启动已终止的线程。但是,您当然可以使用CreateThread启动具有相同功能的新线程。
答案 1 :(得分:4)
Martin绝对正确地说明一旦线程终止就无法重启。但是,我想指出,对于那些你知道需要反复执行某些任务的情况,你应该探索所谓的“线程池”。
本质上,线程池由许多 alive 并等待工作的线程组成。当您需要执行任务时,您只需将工作任务分配给一个这样的线程,当线程完成线程时,它将被放回等待工作状态。这种技术可以提供巨大的性能提升,因为创建线程会带来性能损失。
有关Windows本机线程池的更多信息,您可以启动here,但如果您的应用程序需要Windows线程池API中没有的功能,您也可以实现自己的线程池。
作为旁注,在.NET框架中也支持并强烈鼓励线程池。
答案 2 :(得分:0)
当然这听起来像是在线程中循环,而不是重新启动它。