Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/310.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 R在运行完一个JAR后挂起_Java_R - Fatal编程技术网

Java R在运行完一个JAR后挂起

Java R在运行完一个JAR后挂起,java,r,Java,R,我有一个调用jar的r脚本,如下所示: system("java -cp myJar.jar com.myMainClass arg1 arg2", intern=TRUE) 我可以“看到”正在执行的java代码(cpu跳转和磁盘写入),它输出一个包含计算结果的文本文件。 下一行r读取结果: scores <- read.csv(results.csv, header=TRUE) scores检查您的java程序是否正确关闭了文件,并关闭了所有正在运行的线程。它是否正确关闭了文件,但我

我有一个调用jar的r脚本,如下所示:

system("java -cp myJar.jar com.myMainClass arg1 arg2", intern=TRUE)
我可以“看到”正在执行的java代码(cpu跳转和磁盘写入),它输出一个包含计算结果的文本文件。 下一行r读取结果:

scores <- read.csv(results.csv, header=TRUE)

scores检查您的java程序是否正确关闭了文件,并关闭了所有正在运行的线程。

它是否正确关闭了文件,但我不确定它是否正在关闭所有正在运行的线程。你需要做的不仅仅是在线程计算结束时调用return吗?你是在用另一个问题回答一个问题吗?如果你想评论OP的问题,那么请等到你有足够的代表时再做。这是一个非常有用的评论:)够公平的Luiggi。编辑了我的答案,所以没有用问题的措辞。这是线程没有关闭。在线程池中调用了shutdown,运行速度非常快:)谢谢!问题是Java和R程序同时运行,因此R程序必须等待Java程序完成文件编写。如果你想加快Java程序的速度,你可以发布你的Java代码来获得一些帮助(也许在这里,但你不能只是问如何加快我的程序,它肯定会被否决和关闭)。如果要在两个程序之间传递数据,可以使用外部文件、管道、套接字、数据库等。。。每种方法都有自己的优缺点,您可以根据自己的需要选择最佳技术。