我有几个线程,其中一个使用ProcessBuilder运行HTPP服务。
HttpThread class
ProcessBuilder pb = new ProcessBuilder(command);
Process process pb.start();
process.waitFor();
int exitValue = process.exitValue();
我想在服务启动时让另一个线程等待。最好的方法是什么?
睡眠似乎不是我的好解决方案。也许可以使用一些方法HttpThread.isReady(boolean b)但是我无法设置这个标志,因为在启动命令之后服务保持运行并且线程正在等待服务完成。
另一种方法是创建一个线程并进行套接字连接,但也不确定它是不是很好的解决方案。
你怎么看?答案 0 :(得分:1)
这听起来像Producer/Consumer问题的一个实例。为什么不使用wait/notify
机制?
这是一名学者example。
答案 1 :(得分:0)
您的选项相当有限,因为HTTP服务存在于JVM之外。
Process.getOutputStream()
。