当前位置: 首页 > 面试题库 >

每分钟Java循环

昝光临
2023-03-14
问题内容

我想在Java中编写一个会启动并运行的循环,如下所示:

while (!x){
    //wait one minute or two

    //execute code
}

我要这样做,以免占用系统资源。代码中实际发生的事情是,它进入一个网站并检查是否已完成某件事,如果未完成,则应等待一分钟,直到再次检查为止,然后再继续检查。反正他们在Java中执行此操作吗?


问题答案:

使用Thread.sleep(long millis)

根据系统计时器和调度程序的精度和准确性,使当前正在执行的线程进入休眠状态(暂时停止执行)达指定的毫秒数。该线程不会失去任何监视器的所有权。

一分钟将是(60*1000) = 60000毫秒。

例如,此循环将每5秒打印一次当前时间:

    try {
        while (true) {
            System.out.println(new Date());
            Thread.sleep(5 * 1000);
        }
    } catch (InterruptedException e) {
        e.printStackTrace();
    }

如果您的睡眠时间对于来说太大int,请显式计算long(例如1000L)。



 类似资料:
  • 我正在用Log4j 2.6.2测试Log4j RollingFileAppender。 我希望每分钟旋转一次日志,因此我有一个log4j2.xml,与这里的一个示例https://logging.apache.org/log4j/2.x/manual/appenders.html#rollingfileappender非常相似。这是我的log4j2.xml 这是一个我每秒钟写一个日志的应用程序。

  • 我正在尝试获取每分钟出现数据的次数。日期看起来是这样的。第一个数字是一个整数,表示自Unix纪元以来的秒数,我将其转换为ISO 8601时间。第二个数字是双精度的。以“00”结尾的时间代表第0分钟,以“60”结尾的时间代表第1分钟。 代码: 我的输出是这样的: 但我正在寻找类似下面的东西(忽略新的分钟找到的文本) 我如何调整它,以便我跟踪当前分钟并添加到计数器,而不会过早地打印出计数器?

  • 我正在尝试绘制每分钟调用 API 的次数。使用Coda Hale指标和石墨,我可以看到一个连续的计数(即如果API被调用5次,它将在时间上显示一条恒定的线,以获得值5),或者我可以看到每分钟的指数加权移动平均线。但我想看到的只是每分钟调用 API 的次数。我尝试过使用Coda Hale的计数器,计时器和仪表,也尝试过使用石墨渲染函数,但无法获得我想要的东西。 以前有人这样做过吗?如果这是一个基本问

  • 我在Burp Suit Free Edition V1.7.03 的入侵者选项卡中,我能够进行攻击,通常是HTTP请求,但我希望HTTP请求应该每10分钟发出一次,而不是默认的3秒时间间隔(大约)

  • 我们正在查看事件桥,以便每分钟向SQS添加一次预定任务。 我们正在寻找事件桥来实现它。到目前为止,它正确地将消息放入队列中,但我们尝试将其安排为每分钟一次,并注意到队列每五分钟只接收一次消息,有时是六分钟。 这些指标似乎表示调用正在发生;但是,队列没有在指定的时间框架内接收它们。 考虑因素 SQS FIFO队列-重复数据消除 在规定的时间间隔内看不到消息的“duh”是因为AWS文档中的这一点: 用