【发布时间】:2022-12-09 16:43:12
【问题描述】:
我目前正在学习 Java,我看到一些代码如下所示:
public interface Await {
boolean await(long timeout, TimeUnit timeUnit) throw InterruptedException
}
public Await spinServerUp() {
this.startServers()
return (timeout, timeUnit) -> countDownLatch.await(timeout, timeUnit);
}
现在我明白 countDownLatch 在继续之前等待线程完成。
我的问题是 - 参数 timeout 和 timeunit 如何传递给 Lambda 表达式?对于我正在阅读的这段代码,我找不到任何使用示例,所以我有点困惑。
我也不确定我是否很好地遵循 spinServerUp() 方法,我知道它调用 this.startServers() 然后返回 Lambda 表达式 - 从而控制 Lambda 表达式。为什么要返回 Lambda 表达式呢?
我试着在我这边做一些阅读,但我变得更加困惑。任何其他阅读材料或对我的两个问题的解释都会非常有帮助!
【问题讨论】:
-
也许你会发现 this 有用
标签: java