This article很好地概述了爲什麼結構化異常處理不好。有沒有辦法獲得停止服務器崩潰的穩健性,同時克服文章中提到的問題?使用多線程服務器進行結構化異常處理
我有一個同時運行約400個連接用戶的服務器軟件。但是如果出現故障,所有400個用戶都會受到影響。我們添加了結構化的異常處理,並享受了一段時間的結果,但最終不得不刪除它,因爲一些崩潰導致整個服務器掛起(這比只讓它崩潰並重新啓動本身更糟糕)。
所以我們有這樣的:
- 隨着SEH:只有1個用戶在400得到一個問題,最崩潰
- 沒有SEH:如果任何用戶獲取崩潰,所有的400都受到影響。
- 但是有時SEH:服務器掛起,所有400都受到影響,並且未來的用戶嘗試連接。
儘管400工作進程過於激烈? – 2008-10-02 20:24:57
那麼你可能不那麼細化。我不知道你的負載是什麼樣的,但我敢打賭,你可以按照每個工作人員進程 – 2008-10-02 20:28:16