This article很好地概述了为什么结构化异常处理不好。有没有办法获得停止服务器崩溃的稳健性,同时克服文章中提到的问题?使用多线程服务器进行结构化异常处理
我有一个同时运行约400个连接用户的服务器软件。但是如果出现故障,所有400个用户都会受到影响。我们添加了结构化的异常处理,并享受了一段时间的结果,但最终不得不删除它,因为一些崩溃导致整个服务器挂起(这比只让它崩溃并重新启动本身更糟糕)。
所以我们有这样的:
- 随着SEH:只有1个用户在400得到一个问题,最崩溃
- 没有SEH:如果任何用户获取崩溃,所有的400都受到影响。
- 但是有时SEH:服务器挂起,所有400都受到影响,并且未来的用户尝试连接。
尽管400工作进程过于激烈? – 2008-10-02 20:24:57
那么你可能不那么细化。我不知道你的负载是什么样的,但我敢打赌,你可以按照每个工作人员进程 – 2008-10-02 20:28:16