【发布时间】:2012-02-14 05:50:44
【问题描述】:
我有一个包含 IronPython 脚本执行的线程。出于某种原因,我可能需要随时停止这个线程,包括脚本执行。如何做到这一点?第一个想法是Thread.Abort(),但众所周知是邪恶的……
【问题讨论】:
-
是的,从线下猛拉地毯是邪恶的。但是,如果这就是您想要做的,那么
Thread.Abort()就是您要走的路。更好的解决方案是修改应用程序的设计。 -
你的线程是循环还是只为执行单个脚本而运行然后死掉?
-
它循环,但每次迭代都包含脚本执行,可能相当长。
-
@CodyGray,你说的修改设计到底是什么意思?
-
这样您就不必“随时停止 [the] 线程”。问题中确实没有足够的背景信息让我给出更具体的建议。我的观点是,您对
Thread.Abort不理想是正确的,但这并不是那个邪恶的功能,而是它正在做的事情。而且因为它正在做你想做的事......
标签: c# multithreading ironpython abort