gpt4 book ai didi

Java进程waitFor()函数导致应用程序卡住

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:35:30 24 4
gpt4 key购买 nike

在我的 java 应用程序中,我有一个日志备份功能:

rt = Runtime.getRuntime();
pr = rt.exec(command);
int exitVal = pr.waitFor();

if(exitVal == 0)
return true

问题是备份日志和获得响应需要一段时间,直到那时我的应用程序才会卡住。如果我删除 pr.waitFor() 函数调用,我会得到响应,但日志备份无法工作。

最佳答案

waitFor() 方法使当前线程在必要时等待,直到此 Process 对象表示的进程终止。如果子进程已经终止,则此方法立即返回。如果子进程还没有终止,调用线程将被阻塞,直到子进程退出。

所以你可以创建另一个执行命令的线程。 pr = rt.exec(命令); .您可能必须异步执行此任务。因为直到子进程终止,进程才会等待。

关于Java进程waitFor()函数导致应用程序卡住,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43510597/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com