Process的的waitFor()造成的阻塞

来源:互联网 发布:unity3d 国际象棋 编辑:程序博客网 时间:2024/04/27 18:46

我们在调用Process的waitFor()时经常会遇到明明Process已经结束了,但是waitFor()还是阻塞在那里,那是因为Process的inputStream缓存造成的,我们现在另外再起一个线程,来监控我们的Process,实时清空缓存就可以解决这个问题了

 

然后在waitFor之前插入

 

在waitFor之后插入

 

这样,即清空了inputStream,又不会造成需要的人无法获取inputStream的信息,waitFor()阻塞的问题也解决了

 

原创粉丝点击