我如何等待值改变?

时间:2011-10-25 20:02:41

标签: java groovy parallel-processing

我正在编写一个Groovy脚本来创建一个进程。我调用consumeProcessOutput()将输出转储到StringBuffer。如何在没有轮询的情况下在主线程中等待?

def process = "command".execute()
def builder = new StringBuilder()
process.consumeProcessOutput(builder)
while (!closure.call(builder)) {}

2 个答案:

答案 0 :(得分:1)

为什么不包装自己的StringBuilder 并挂钩追加事件

答案 1 :(得分:0)

您应该可以使用waitFor

process.waitFor()

或者,另一种可能性是:

def output = 'command'.execute().text