java - countDownLatch.await() 超时时记录
问题描述
我正在使用 Java 的 CountDownLatch 超时,在我的集成测试中如下所示:
countDownLatch.await( 5, TimeUnit.SECONDS)
有时,不进行 countDownLatch.countdown() 调用并且 countDownLatch.await(..) 超时。每当发生这种情况时,我都想记录下来,以帮助我调试失败的测试。有没有简单的方法来实现这一目标?
解决方案
来自 CountDownLatch.await 上的文档:“如果经过指定的等待时间,则返回值 false。如果时间小于或等于零,则该方法根本不会等待。”
try (
if (!countDownLatch.await( 5, TimeUnit.SECONDS)) {
// Log that countDownLatch timed out
}
} catch (InterruptedException ex) {
// Log interrupted by another thread.
}
推荐阅读
- rust - Rust中取模求幂密码函数的优化实现
- php - 浏览器在运行此 php 代码时显示一些语法错误
- javascript - 阅读 Next.js 错误
- wordpress - 从 URL 结构中删除帖子名称
- for-loop - pyspark 将 dic 与大数据帧匹配,并使用 for-loop 计算每一行
- apache - 基本身份验证无法使用本地代理反向
- javascript - 如何在 Wordpress 中为自定义 CMS 创建钩子?
- python - SQLAlchemy:如果父级未知,则添加子级
- node.js - 如果一段时间后没有数据,Nodejs会结束一个可读流
- python - 如何使用 Python 将 CSV 转换为嵌套的 JSON