2013-11-14 54 views
2

我有大約30個計算需要在幾千個數據點上完成。計算是在第三方庫中完成的。 每個調用都可以並行完成,因此我正在考慮將調用放入多個線程中。在C#中對這個問題的最佳線程方法是什麼?

我得到的問題是如何在需要時正確終止呼叫。由於我無法訪問大多數情況下使用的lib,所以我無法以很好的方式退出該線程。

有什麼建議嗎?

謝謝。

+0

你可能只需要殺死它們。 –

+0

爲什麼要終止通話?如果此時計算不起作用,那麼如果您稍後再試一次,您是否期望它能夠正常工作? – mbeckish

+0

用戶可能會更改輸入,這就是爲什麼我需要殺死它。 – jbassking

回答

4

如果第三方庫是一個託管庫,或把大部分CPU時間在託管代碼中,你可以從一個單獨的應用程序域調用它,並且核彈整個AppDomain中,當你需要終止計算。如果計算主要在非託管代碼中,請將計算作爲一個單獨的進程運行並對整個過程進行覈查。任何其他方法都是微妙的危險,因此是不可取的。

相關問題