我有一个 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/