有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

多线程java线程问题,对吗?

我正在创建一个java服务,它将在后台持续运行,该服务的工作是在特定日期创建表的副本。确切地说,我从一些表中读取数据,如果表中的记录日期与当前日期匹配,我需要创建表副本。然后,服务应该一直休眠到下一个运行日期。下一个运行日期也是通过查看表中的记录来确定的

目前,我要做的是创建一个在while(true)循环中运行的线程。当线程完成任务,即创建表副本时,我使用线程将其置于睡眠状态。sleep()直到下次需要运行。我通过计算当前日期(线程执行任务的日期)和下一个运行日期之间的差值来计算线程睡眠的毫秒数

这是正确的方法吗?使用线程。sleep()对于这个特定场景来说是正确的吗?我这么说是因为线程的下一个运行日期可能是三个月甚至一年之后。如果我不太清楚,也请告诉我


共 (1) 个答案

  1. # 1 楼答案

    看看^{} interface。这是wait()notify()的抽象,这是您应该使用的,而不是sleep()

    有一个answer here说明了原因