Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java不断检查日期_Java_Date_Polling_System Tray - Fatal编程技术网

Java不断检查日期

Java不断检查日期,java,date,polling,system-tray,Java,Date,Polling,System Tray,有没有一种方法可以让坐在系统托盘中的Java程序不断检查计算机日期?也许不是每一秒,而是每一分钟左右?它能在不占用计算机所有资源的情况下完成吗 目前,我正在考虑运行一个日期检查方法,只检查按钮按下时的日期,但这有点蹩脚,不能像我希望的那样工作。您可以使用-这将只使用您的检查日期方法所需的资源(+一点不明显的开销) 您可以使用-这将只使用您的checkDate方法所需的资源(+一点不明显的开销) 您应该查看调度库,就像或使用java.util.concurrent中的ScheduledExecut

有没有一种方法可以让坐在系统托盘中的Java程序不断检查计算机日期?也许不是每一秒,而是每一分钟左右?它能在不占用计算机所有资源的情况下完成吗

目前,我正在考虑运行一个日期检查方法,只检查按钮按下时的日期,但这有点蹩脚,不能像我希望的那样工作。

您可以使用-这将只使用您的
检查日期
方法所需的资源(+一点不明显的开销)

您可以使用-这将只使用您的
checkDate
方法所需的资源(+一点不明显的开销)


您应该查看调度库,就像或使用
java.util.concurrent
中的
ScheduledExecutorService
提供的支持一样。您应该查看调度库,喜欢或使用
java.util.concurrent

中的
ScheduledExecutorService
提供的支持,为什么不创建一个线程,用
new date()
检查日期,然后休眠60000毫秒?您介意我问一下为什么要轮询日期吗?为什么不对日期进行一次采样,然后为您想要的日期创建一个计时器?为什么不创建一个线程,用
new date()
检查日期,然后休眠60000毫秒?您介意我问一下为什么要轮询日期吗?为什么不对日期进行一次采样,然后为您想要的日期创建一个计时器呢?非常感谢,这样可能就可以了!非常感谢,这可能就够了!
ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1);
Runnable r = new Runnable() {
    @Override
    public void run() {
        checkDate();
    }
};
scheduler.scheduleAtFixedRate(r, 1, 1, TimeUnit.MINUTES);