关于Process的waitFor()阻塞问题
2013-03-26 09:24
225 查看
碰到一个在上传完图片后需要将其转换为多种格式的问题,当然在Java程序里可以解决,但灵活性不高,所以就想到了用Process来调用外部命令linux的一个工具ImageMagick来解决问题。
waitFor() 导致当前线程等待,如有必要,一直要等到由该 Process 对象表示的进程已经终止。
在调用该方法时,经常会出现线程阻塞,Process需要向主线程汇报运行状态,要注意清空缓存区,即Process的InputStream与ErrorStream
waitFor() 导致当前线程等待,如有必要,一直要等到由该 Process 对象表示的进程已经终止。
在调用该方法时,经常会出现线程阻塞,Process需要向主线程汇报运行状态,要注意清空缓存区,即Process的InputStream与ErrorStream
Process p = Runtime.getRuntime().exec("cmd /c dir"); BufferedReader brinput = new BufferedReader(new InputStreamReader(p.getInputStream())); try { String lineB = null; while ((lineB = brinput.readLine()) != null) { System.out.println(new String(lineB)); } } catch (IOException e) { e.printStackTrace(); } BufferedReader brerror = new BufferedReader(new InputStreamReader(p.getErrorStream())); try { String lineB = null; while ((lineB = brerror.readLine()) != null) { System.out.println(new String(lineB)); } } catch (IOException e) { e.printStackTrace(); } p.waitFor(); System.out.println("123");
相关文章推荐
- 关于Java Process 阻塞的问题
- java process的waitfor()阻塞问题
- 关于python sunprocess调用wait后,一直阻塞的问题
- 关于执行Process 一直等待 waitFor的问题
- Java中Process和Runtime()使用,以及调用cmd命令阻塞在process.waitfor( )的问题解决
- java.lang.Process调用程序阻塞问题解决
- Java Process中waitFor()的问题
- Process阻塞问题
- java.lang.Process调用程序阻塞问题解决
- Process的的waitFor()造成的阻塞
- java.lang.Process 阻塞问题
- java中NIO和IO的关于阻塞与非阻塞的问题
- 关于socket阻塞与非阻塞情况下的recv、seng、read、write返回值问题
- 怎样判断子进程已经结束 process.waitFor();的问题
- Java Process中waitFor()的问题
- Java Process中waitFor()的问题
- Java Process中waitFor()的问题
- 解决Process进程不能及时关闭及阻塞问题
- 关于gethostbyname在多线程环境下的阻塞问题
- Java,InputStream,Socket阻塞.(关于HTTP请求的IO问题自我总结)