我如何等待值发生变化?
我正在编写一个创建进程的 Groovy 脚本。我调用 ConsumerProcessOutput() 将输出转储到 StringBuffer。如何在主线程中等待而不进行轮询?
def process = "command".execute()
def builder = new StringBuilder()
process.consumeProcessOutput(builder)
while (!closure.call(builder)) {}
I'm writing a Groovy script which creates a process. I call consumeProcessOutput() to dump the output to a StringBuffer. How can I wait in the main thread without polling?
def process = "command".execute()
def builder = new StringBuilder()
process.consumeProcessOutput(builder)
while (!closure.call(builder)) {}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
为什么不包装你自己的 StringBuilder
并挂钩附加事件
why not wrap your own StringBuilder
and hook the append event
您应该能够使用 waitFor
或者,另一种可能性是:
You should be able to use waitFor
Or, another possibility would be: