我有一个进程启动几个线程来做一些事情,监听一些端口等。
启动所有线程后,主线程当前进入无限循环:
它是这样的:
int main()
{
//start threads
while (true)
{
sleep(1000);
}
}
额外的sleep
确保主线程不会吃掉处理器。
这种方法可以吗?是否有关于如何保持流程活力的行业标准?谢谢。
编辑:一些澄清:
- 线程是侦听器,因此 a
join
orWaitForSingleObject
不是一个选项。通常我可以在这里使用 join,但是线程是由第三个客户端库启动的,我无法控制它们。 - 从设计的角度来看,在主线程中进行一些处理没有意义。