我正在研究一个Java程序,自从我上次使用Java以来已经有一年多了,所以我有点生疏了。此程序使用 Runtime.exec() 要调用其他程序来完成它的脏工作,需要在其他程序工作时分析它们的输出并相应地实时更新自己的GUI。最好的方法是什么?我目前正在考虑让我的外部程序执行器类有自己的内部线程,该线程对外部程序的输出流进行轮询,然后在发生值得注意的事情时引发事件,然后实现自己的 EventListener 我的UI类的接口。不过,我担心这将如何处理被激发事件的异步性质。有人能就如何保护听众不受比赛条件的影响和/或更好的方法给出任何建议吗?谢谢。
Runtime.exec()
EventListener
Process
Runtime.exec(String)
InputStream
OutputStream
输出流
Thread
祝你好运。