【发布时间】:2013-12-13 11:04:43
【问题描述】:
我有以下代码:
int main()
{
Client *c = new Client();
ExitOnlyWhenClientException();
return 0;
}
所以我不希望 main 仅在客户端抛出异常时返回。我知道我可以使用条件变量,它在客户端的析构函数中发出信号并在主块中等待。
但是还有其他方法吗?
我找到了这个链接How would you implement a basic event-loop?
我的问题与上面的链接相比有点不同,因为它应该知道客户端崩溃了。
编辑 1
我说崩溃了,我的意思是异常。
【问题讨论】:
-
Client似乎是一个类。一个类不会崩溃。程序崩溃。因此,如果Client类中的代码导致崩溃,整个程序就会崩溃。除非你在谈论例外,这是另一回事。 -
哪个平台?事件循环的概念可能出现在任何基础教程的第一章中。 @SirDarius:很明显他的意思是“当客户端导致崩溃时”。
-
为什么不在客户端有一个 run 方法,调用它然后你必须等到它完成,要么通过崩溃,要么干净
-
@SirDarius:是的,我的意思是客户端抛出异常。
标签: c++ destructor