在C#中解决此问题的最佳线程方法是什么?

时间:2013-11-14 18:47:06

标签: c# multithreading

我需要在几千个数据点上进行大约30次计算。计算在第三方库中完成。 每个调用都可以并行完成,所以我想把调用放到几个线程中。

我得到的问题是如果需要,如何正确终止呼叫。由于我无法访问大部分时间都在的lib,我无法以一种很好的方式退出该线程。

有什么建议吗?

感谢。

1 个答案:

答案 0 :(得分:4)

如果第三方库是托管库,或者在托管代码中花费大部分CPU时间,则可以在单独的应用程序域中调用它,并在需要终止计算时对整个应用程序域进行核对。如果计算主要在非托管代码中,则将计算作为单独的过程运行并对整个过程进行核对。任何其他方法都是微妙危险的,因此是不可取的。