调用Thread.sleep()时子进程停止(在Windows下的Java中)

时间:2009-09-24 19:30:27

标签: java multithreading sleep child-process

我有一个Java应用程序,它使用ProcessBuilder启动外部进程(Internet Explorer)。奇怪的是,当父Java线程调用Thread.sleep时,这个子进程会冻结。所有进程都不会发生这种情况,例如Firefox,但是IE会一直发生。

有什么想法吗?

P.S。我尝试了具有相同效果的Robot.delay()

1 个答案:

答案 0 :(得分:5)

你是如何使用子进程stdout和stderr的?可能值得发布您的代码。

需要同时使用输出流,否则您的stdout或stderr缓冲区将填满,您的子进程将阻塞。有关详细信息,请参阅here