gpt4 book ai didi

java - Jython,从 Java 代码内部停止脚本执行

转载 作者:行者123 更新时间:2023-12-03 13:08:44 25 4
gpt4 key购买 nike

我在我的 Java 应用程序中使用 Jython 作为脚本引擎。
我可以通过调用 pi.execfile(script_name) 从我的 Java 应用程序运行任何 Jython 脚本。但问题是我还需要一种从 Java 代码手动停止脚本执行的方法。如何在不修改 Jython 脚本的情况下停止它?

我在一个单独的线程中运行一个脚本,所以试图通过
scriptRunningThread.interrupt();并捕获 InterrupredException,但线程只是挂起并挂起......新创建的线程也会挂起

另一种方式 - 共享一个公共(public)对象并制作 Jython 脚本来检查用户是否想要退出。

第三种方法是运行一个单独的进程(我的应用程序的控制台模式)并在按下 STOP 按钮时将其终止。但我不喜欢这个解决方案......

有什么建议么?

最佳答案

最好的方法是您的第二个想法:让 Jython 脚本检查终止标志,如果设置了该标志,则干净地退出。

如果您想从另一个线程终止线程,您可以调用 Thread.stop(),但这通常是一个坏主意,因为它可能导致您的整个应用程序挂起或在某些情况下出现异常行为。

关于java - Jython,从 Java 代码内部停止脚本执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46668436/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com