请教个在SERVLET中调用 getRuntime().exec(command) 的问题
我在SERVLET中通过getRuntime().exec(command)调用一个外部程序 该用来生成个性图片
主要代码:
public void service(HttpServletRequest request,
..........
command = "create new.jpg";
proc = Runtime.getRuntime().exec("cmd /c start "+command); int returnValue = proc.waitFor();
...........
//显示生成的图片
我需要 把程序生成的图片立即反馈给用户 比如 使用<img src="new.jpg"/>显示给用户
问题是“create new.jpg” 完成的时间无法确定 一般3秒内完成 特殊情况得 20秒以上
而下面的代码 是不会等 "create new.jpg"结束 后顺序执行 servlet 把COMMAND 丢给 操作系统后就立即执行下面的代码
我不可能也不想使用Thread.sleep()等待
我正考虑写一个线程 用较小得时间间隔判断 new.jpg 是否生成 可感觉方法很笨
我的问题是: 有什么好办法 让我立即知道"create new.jpg"执行完成 或者 如何能让
exec(command)功能 完成后再调用下面的代码
谢谢各位:)