Groovy eachLine()是否足以防止进程阻塞?

Groovy eachLine()是否足以防止进程阻塞?,groovy,Groovy,在Groovy脚本中,eachLine闭包是否足以防止进程因缓冲区已满而阻塞?当然,这取决于两个进程的不同复杂性 我猜其中一个是产生输出的,而另一个是通过eachLine使用它。然后,如果第二个有足够的CPU时间来防止缓冲区填充,那么就不会有任何块。否则它将缓慢/快速填充,直到没有空间为止 在您的案例中没有一般性的答案,因为它取决于eachLine所做的处理以及另一个生成数据的进程所做的处理。您能更详细地解释一下您的问题吗?我不清楚您在问什么。请参阅Process.consumeProcessO

在Groovy脚本中,eachLine闭包是否足以防止进程因缓冲区已满而阻塞?

当然,这取决于两个进程的不同复杂性

我猜其中一个是产生输出的,而另一个是通过
eachLine
使用它。然后,如果第二个有足够的CPU时间来防止缓冲区填充,那么就不会有任何块。否则它将缓慢/快速填充,直到没有空间为止


在您的案例中没有一般性的答案,因为它取决于
eachLine
所做的处理以及另一个生成数据的进程所做的处理。

您能更详细地解释一下您的问题吗?我不清楚您在问什么。请参阅Process.consumeProcessOutput()Groovy JDK documentationOk,这间接回答了我的问题。只要行小于缓冲区大小,进程就不会阻塞。