Multithreading 如何在vc++;,我使用CreateThread创建了它

Multithreading 如何在vc++;,我使用CreateThread创建了它,multithreading,visual-c++,Multithreading,Visual C++,我正在使用vc++并使用CreateThread函数创建一个线程。我可以在它完成任务后返回后再次重新启动它。无法重新启动已终止的线程。但是,您当然可以使用与CreateThread相同的函数启动一个新线程来运行。您不能重新启动已终止的线程。但是,您当然可以使用相同的函数启动一个新线程来运行,再次使用CreateThread。当然这听起来像线程内部的循环,而不是重新启动它。当然这听起来像线程内部的循环,而不是重新启动它。说线程一旦终止就不能重新启动是绝对正确的。然而,我想指出,对于那些您知道需要反

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

无法重新启动已终止的线程。但是,您当然可以使用与CreateThread相同的函数启动一个新线程来运行。

您不能重新启动已终止的线程。但是,您当然可以使用相同的函数启动一个新线程来运行,再次使用CreateThread。

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

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

说线程一旦终止就不能重新启动是绝对正确的。然而,我想指出,对于那些您知道需要反复执行某些任务的实例,您应该探索所谓的“线程池”

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

有关windows本机线程池的详细信息,可以启动,但如果应用程序需要windows线程池API中不可用的功能,也可以实现自己的线程池

另外,在.NET framework中也支持并大力鼓励线程池。

指出线程一旦终止就不能重新启动,这是绝对正确的。然而,我想指出,对于那些您知道需要反复执行某些任务的实例,您应该探索所谓的“线程池”

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

有关windows本机线程池的详细信息,可以启动,但如果应用程序需要windows线程池API中不可用的功能,也可以实现自己的线程池

另外,线程池在.NET框架中也得到了支持和大力鼓励