Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在运行时暂停Groovy脚本_Java_Groovy - Fatal编程技术网

Java 在运行时暂停Groovy脚本

Java 在运行时暂停Groovy脚本,java,groovy,Java,Groovy,如何在脚本中暂停Groovy脚本,直到Java程序通知脚本再次运行?脚本将嵌入Java程序中。根据实际调用脚本的方式,有几种可能性 如果您使用一个单独的进程调用它,您可以在脚本中等待来自STDIN的输入,然后在java中写入STDOUT 如果两者都在一个JVM的不同线程中运行(这包括通过ScriptingManager执行),则可以使用obj.wait()int脚本和obj.notify[All]()在java程序中。在通常的过程中,我从未遇到过这种需求-因为嵌入脚本通常希望它在运行完成后给您回

如何在脚本中暂停Groovy脚本,直到Java程序通知脚本再次运行?脚本将嵌入Java程序中。

根据实际调用脚本的方式,有几种可能性

如果您使用一个单独的进程调用它,您可以在脚本中等待来自STDIN的输入,然后在java中写入STDOUT


如果两者都在一个JVM的不同线程中运行(这包括通过ScriptingManager执行),则可以使用
obj.wait()
int脚本和
obj.notify[All]()
在java程序中。

在通常的过程中,我从未遇到过这种需求-因为嵌入脚本通常希望它在运行完成后给您回电话

可以运行绑定工作吗?
rem不跨线程

如何调用groovy部件?划线引擎,过程,直接?java程序应该暂停它还是应该暂停并等待它收到信号?暂停直到它收到信号。你如何执行它?脚本引擎、进程还是直接通过调用?在单独的线程中还是在队列中?我使用GroovyShell和绑定。谢谢!你知道我如何循环它,让它一直等到程序结束吗?我有一个函数,当有什么事情发生时触发。我应该在函数中添加什么使线程再次唤醒?TL;有没有办法检查对象(Groovy脚本)是否还没有完成?使用什么方法?STDIN或wiat/notify?在groovy脚本应该暂停的位置,在激发[obj].notify[All]()的函数中添加[obj].wait()。然后,您可以将脚本包装到无限循环中,或者在脚本完成后调用它。这可以通过在java程序中等待[anotherObj].wait()并在脚本结束时通过脚本本身使用notify获得通知来存档。我将在脚本运行时更改绑定。每个脚本将代表一个NPC,我想等待玩家交互。