我有启动多个线程里面做一些东西,听一些港口等处理如何保持进程运行?
后,它开始的所有线程,主线程目前进入一个无限循环:
它是这样的:
int main()
{
//start threads
while (true)
{
sleep(1000);
}
}
额外sleep
保证了主线程不吃处理器。
是这种方法好不好?是否有一个关于流程如何保持活力的行业标准?谢谢。
编辑:一些澄清:
- 线程是听众,所以
join
或WaitForSingleObject
是不是一种选择。通常我可以在这里使用连接,但线程由第三个客户端库启动,我无法控制它们。 - 在主线程做一些处理不从设计的角度来看是有意义的。
你需要一种方法来打破主循环? – Nick
为什么加入一个线程不是一个选项?在所有其他线程完成之前,您只是不想退出主线程。调用所有的tid加入将会做到这一点。 – Stan
发生什么事情与所有downvoting?!? – Nick