我有一个执行用户生成的 IronRuby 脚本的应用程序,其中每个线程都在自己的线程上执行。我遇到的问题是可能发生某些事件,需要在脚本中的任意点停止 IronRuby 脚本。
我可以通过中止正在运行脚本的线程来做到这一点,但这种方法会在应用程序中引入内存泄漏。经过几个月的调查,除了安排应用程序的自动重启之外,我无法纠正。因此,我热衷于放弃使用 Thread.Abort。
有没有办法从脚本外部停止 IronRuby 脚本?
我能想到的唯一另一个想法是将每个用户的脚本分成单独的行,并在每个脚本行之后插入一个新行,以检查脚本是否应该停止,但这势必会引入语法错误。