【问题标题】:Jython How to stop script from thread?Jython 如何从线程中停止脚本?
【发布时间】:2009-11-25 18:22:46
【问题描述】:

我正在寻找一些将从线程中运行但能够终止主脚本的退出代码。它在 Jython 中,但我不能使用 java.lang.System.exit(),因为我仍然希望我正在运行的 Java 应用程序运行,而 sys.exit() 不起作用。理想情况下,我想输出一条消息然后退出。 我的代码使用 threading.Timer 函数在一段时间后运行函数。在这里,我使用它来结束执行时间超过 1 秒的 for 循环。这是我的代码:

import threading
def exitFunct():
    #exit code here
t = threading.Timer(1.0, exitFunct)
t.start()
for i in range(1, 2000):
    print i

【问题讨论】:

    标签: multithreading jython


    【解决方案1】:

    好吧,如果需要,您可以致电 mainThread.stop()。但你不应该。

    This article 解释了为什么您尝试做的事情被认为是一个坏主意。

    【讨论】:

    • 嗯明白了。所以你是说没有办法从一个线程中安全地杀死整个脚本?我只希望 exitFunct 能够终止脚本,因为 for 循环将运行太长时间。
    【解决方案2】:

    如果你想杀死当前进程并且你不关心刷新IO缓冲区或重置终端,你可以使用os._exit()

    我不知道他们为什么这么难。

    【讨论】:

      猜你喜欢
      • 2018-03-21
      • 2018-06-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-02
      • 2015-04-23
      • 1970-01-01
      相关资源
      最近更新 更多