举个例子: -
我使用pThread
Api创建了帖子CreateThread
,这将执行一些任务,如vSampleTask
我如何知道 pThread 已完成其任务?
由于
答案 0 :(得分:4)
您可以使用WaitForSingleObject
或其他一个等待函数等待线程句柄。例如,您可以使用MsgWaitForMultipleObjects
允许等待被输入消息中断。线程执行完成后,线程句柄就会发出信号。
作为替代方案,您可以通过调用GetExitCodeThread
来检查线程的状态。如果线程仍然忙,则返回FALSE
,如果线程已完成,则返回TRUE
。如果线程已完成,则也将返回退出代码。
如果一个线程需要等待另一个线程完成,那么您应该使用等待函数而不是调用GetExitCodeThread
的忙轮询循环。繁忙的循环和轮询只会消耗不必要的CPU(和电量)。等待函数允许等待线程空闲。
答案 1 :(得分:3)
您可以GetExitCodeThread
询问线程的状态。