我真的不熟悉使用线程,所以我希望有人能帮助我找出最好的方法来做到这一点。使用线程和ProcessBuilder
我在我的java应用程序中有一个JButton ...当你点击按钮时,我有一个Process Builder创建一个执行一些外部python代码的进程。 python代码生成一些文件,这可能需要一些时间。当python代码完成执行时,我需要将这些文件加载到我的Java应用程序中的一个applet中。
在其当前形式中,我在调用外部python文件的代码中有一个p.waitFor()...所以当你点击按钮时,按钮会挂起(整个应用程序实际挂起),直到进程已经完成了。显然,我希望用户能够在该过程正在进行时与应用程序的其余部分进行交互,但一旦完成,我希望我的应用程序知道它,以便它可以将文件加载到小程序中。
这样做的最好方法是什么?
感谢您的帮助。
非常感谢。我甚至不知道SwingWorker存在......但它完美运作。 – knt 2009-08-07 20:02:09