摘 要:當(dāng)把容易發(fā)生異常的、實(shí)驗(yàn)室級的數(shù)值計算程序集中在一起向用戶提供計算服務(wù)時,服務(wù)器需要為每個用戶啟動一個新線程,然后通過此線程啟動響應(yīng)的計算進(jìn)程,此時服務(wù)器必須對所啟動的計算子進(jìn)程有一定的控制能力,否則發(fā)生異常的進(jìn)程有可能會占用系統(tǒng)資源,影響服務(wù)器的穩(wěn)定。文章介紹了如何應(yīng)用win32調(diào)試API來使服務(wù)器線程具備捕獲和處理計算子進(jìn)程異常的能力,從而解決了計算子進(jìn)程異常所導(dǎo)致的性能和穩(wěn)定性問題。
關(guān)鍵詞:數(shù)值計算服務(wù)器;異常;調(diào)試API;子進(jìn)程
0 引言
當(dāng)前的研發(fā)型企業(yè)中存在著一些自行開發(fā)的數(shù)值仿真程序,這些程序和專業(yè)軟件一起,在各個領(lǐng)域內(nèi)發(fā)揮作用。一方面越來越多的設(shè)計生產(chǎn)人員需要仿真計算支持;另一方面正在加劇的商業(yè)競爭和安全方面的原因,使得企業(yè)越來越小心地保護(hù)自己開發(fā)的計算程序和源代碼。針對這種情況,本文設(shè)計實(shí)現(xiàn)了一個數(shù)值計算服務(wù)器DCP_server1.0,該服務(wù)器可以通過XML文件把數(shù)值計算程序集中配置到服務(wù)器上,服務(wù)器根據(jù)用戶的選擇接受計算參數(shù),啟動響應(yīng)的計算程序,最后把計算的結(jié)果發(fā)送給用戶。在實(shí)際應(yīng)用中發(fā)現(xiàn),被啟動的數(shù)值計算程序,經(jīng)常在計算中發(fā)生異常,導(dǎo)致該計算程序不能正常結(jié)束,占用了服務(wù)器資源,影響了服務(wù)器的穩(wěn)定和速度。
注:“本文中所涉及到的圖表、注解、公式等內(nèi)容請以PDF格式閱讀原文”