在Java中是否可以替代Thread.sleep

virajwee

这是我的代码

while (true) {
    try {
        Thread.sleep(5 * 60 * 1000);
        processData();// data processing job
    } catch (InterruptedException e) {
        SystemMessageBillPay.getInstance().writeMessage("ERROR: CEB.run() - " + e.getMessage());
    } catch (NumberFormatException e) {
        SystemMessageBillPay.getInstance().writeMessage("ERROR: CEB.run() - " + e.getMessage());
    }
}

对此

“ Thread.sleep(5 * 60 * 1000);”

代码检查员发出警告

“在循环中调用Thread.sleep可能会导致性能问题”

防止该警告的代码应该是什么

Ruchira Gayan Ranaweera
Is there a alternative to Thread.sleep

是的,有办法。但是

您似乎要安排一些工作。您可以使用TimerTaskScheduledExecutorService代替它。因此,您问题的稍后部分是关于

“在循环中调用Thread.sleep可能会导致性能问题”

这将通过计划任务来解决。

计划任务。

public class Test extends TimerTask{

public static void main(String[] args) {
  Test task = new Test();
  Timer timer = new Timer();
  Calendar today = Calendar.getInstance();
  today.set(Calendar.HOUR_OF_DAY, 13);
  today.set(Calendar.MINUTE, 47);
  today.set(Calendar.SECOND, 0);
  timer.schedule(task, today.getTime(), TimeUnit.MILLISECONDS.convert(1, TimeUnit.DAYS));
}

 @Override
public void run() {
 System.out.println("Running Scheduled Task...!!!");
}
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在Java中是否可以替代Thread.sleep

来自分类Dev

Thread.sleep(); 在Java中

来自分类Dev

Java Thread.sleep()

来自分类Dev

java - Thread.sleep

来自分类Dev

Kotlin中“ For循环”中Thread.Sleep()的替代方法?

来自分类Dev

Android中Thread.sleep方法的替代方法

来自分类Dev

Android中Thread.sleep方法的替代方法

来自分类Dev

等待使用实体框架更改数据时,是否可以使用Thread.Sleep更好的替代方法?

来自分类Dev

替代Thread.Sleep的那个块

来自分类Dev

Thread.sleep()替代品

来自分类Dev

Thread.sleep()的精确替代品

来自分类Dev

Thread.sleep()的精确替代品

来自分类Dev

Java中的心跳:timerTask或thread.sleep()?

来自分类Dev

Thread.sleep()是否可以防止StackOverflow错误?

来自分类Dev

是否可以使用thread_sleep检测内核数

来自分类Dev

Android中的Thread.Sleep()

来自分类Dev

Thread.sleep(x)是否足够准确,可以用作Android中的时钟?

来自分类Dev

Thread.Sleep实现

来自分类Dev

替换thread.sleep

来自分类Dev

覆盖Thread.sleep()

来自分类Dev

替换thread.sleep

来自分类Dev

Thread.Sleep实现

来自分类Dev

C#Thread.Sleep()

来自分类Dev

std :: this_thread :: sleep_for()与main()中的sleep()

来自分类Dev

Java Thread.sleep()是否释放处理器?

来自分类Dev

Java线程sleep()协助

来自分类Dev

Thread.sleep(n)是否阻止其他事情进行?有更好的替代品吗?

来自分类Dev

Thread.sleep(n)是否阻止其他事情进行?有更好的替代品吗?

来自分类Dev

Project Loom for Java中的“ Thread.sleep”与虚拟线程(纤维)是否不同?