我正在做一个项目,我在运行时加载了几个程序集,对于每个程序集,我使用反射来查找一些特定的类,实例化它们并调用它们的方法。所有这些工作正常,但是对于某些调用,该进程遇到堆栈溢出,从而终止了我的整个程序。我无法控制正在加载的程序集的源代码,因此我无法更改正在执行的代码。
我试图解决的问题:
我分配了一个线程来执行方法的调用,并尝试
在 timeintervall 后中止线程(我知道这是不好的做法,但我不能更改代码以友好地终止)。然而这不起作用,我认为线程正忙于“stackoverflowing”来处理 Abort 调用。我尝试减少线程可以访问的实际内存,这甚至不是解决方案,因为您无法捕获 stackoverflow-exception 所以我的程序无论如何都会终止(更快)
问题:
- 线程可以忙到中止吗?有什么方法可以中止具有这种行为的线程吗?
- 我们如何才能以一种好的方式调用代码(我们无法控制)?
提前致谢!