为了账号安全,请及时绑定邮箱和手机立即绑定

20 秒后从“时”循环中断

20 秒后从“时”循环中断

jeck猫 2022-09-22 19:33:40
20 秒后,如何从 while 循环中解脱出来?我想避免使用线程。while (var) {    // ...do something    if (20secondsIsPassed) {        break;    }}
查看完整描述

2 回答

?
慕盖茨4494581

TA贡献1850条经验 获得超11个赞

如果你的循环内部检查了经过的时间,那么你就不会有20秒,但至少有20秒。最简单的方法是这样的:ifwhile


LocalDateTime then = LocalDateTime.now();

while (true) {

    // logic

    if (ChronoUnit.SECONDS.between(then, LocalDateTime.now()) >= 20) break;

}


查看完整回答
反对 回复 2022-09-22
?
慕神8447489

TA贡献1780条经验 获得超1个赞

只需知道每秒代表1000毫秒,您就可以进行以下计算:


long seconds = System.currentTimeMillis();

    while (var && (seconds + (20 * 1000) > System.currentTimeMillis())) {

        // ...do something

    }


查看完整回答
反对 回复 2022-09-22
  • 2 回答
  • 0 关注
  • 84 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信