java - 从 Matlab 调用 "main"Java 方法并等待完成

标签 java matlab program-entry-point

我有一个 Java 类 matlabSMAC,它有一个“main()”方法。

我想从 Matlab 调用这个方法。但是,每当我这样做时,matlab 脚本都会继续执行,并且不会等待 main() 方法完成执行。

我尝试以多种方式调用该方法,不幸的是结果相同

matlabSMAC.main(args)
javaMethod('main','matlabSMAC',args)
javaMethodMT('main','matlabSMAC',args)

问题: 有没有办法强制 matlab 在退出/完成/继续执行脚本之前等待方法的执行完成?

文档下一页的末尾有一个关于此的小评论。但是,它没有指出任何解决方案:

https://de.mathworks.com/help/matlab/matlab_external/invoking-methods-on-java-objects.html

谢谢!

最佳答案

Matlab 在继续之前会等待调用的 Java 方法完成。

您可能会看到 main 方法启动其他线程然后返回的效果。 (这是任何 Java GUI 程序的正常设计。)

你的main()是做什么的?您可能需要 matlabSMAC 类提供另一种方法,该方法会阻塞,直到其所有工作线程和/或进程完成为止。

关于java - 从 Matlab 调用 "main"Java 方法并等待完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41362971/

相关文章:

c++ - Matlab - 累积分布函数(CDF)

matlab - 正态分布的峰度

java - 如何解决线程 "main"java.lang.NoSuchMethodError : main 中的异常

c++ - 如何从不同的函数而不是 main() 开始执行 c/c++ 中的程序

python - 使用 Python 模块 main 函数进行验证测试是一个坏主意吗?

java - 级联 - 合并 2 个聚合

java - 在功能上添加整数列表

java - 将大于号和小于号中的文本传递到后端

java - IDEA 11 Ultimate 中的智能字符串替换/补全

matlab - 在 matlab 中绘制一堆 3d 线的最有效方法