【发布时间】:2017-09-16 13:27:33
【问题描述】:
在我的 java 应用程序中,我有一个日志备份功能:
rt = Runtime.getRuntime();
pr = rt.exec(command);
int exitVal = pr.waitFor();
if(exitVal == 0)
return true
问题是备份日志并获得响应需要一段时间,直到那时我的应用程序冻结。如果我删除 pr.waitFor() 函数调用,我会得到响应,但日志备份无法工作。
【问题讨论】:
-
要么需要等待,要么不需要。根据您的确切上下文,您可以使用某种后台线程来执行进程,并让某种观察者在进程完成时收到通知。 Swing API 中的
SwingWorker(或多或少)会这样做 -
按照这个试过了,效果很好。 stackoverflow.com/questions/3489543/…