Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/354.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.util.Timer停止,没有任何异常_Java_Timer_Scheduledexecutorservice - Fatal编程技术网

java.util.Timer停止,没有任何异常

java.util.Timer停止,没有任何异常,java,timer,scheduledexecutorservice,Java,Timer,Scheduledexecutorservice,我每2分钟去FTP上传新文件。 我用java.util.Timer实现了它。但经过一段时间——几天甚至一周——它毫无例外、毫无理由地停止了 我发现了一条线索: 但其中并没有特别的解决方案。 我读过ScheduledExecutorService,但据我所知,它和Timer是一样的 请给我一些想法 您可以尝试在主线程中使用Thread.setDefaultUncaughtExceptionHandler()API设置默认异常处理程序,并尝试记录任何可能被悄悄吞没的可丢弃/异常。我刚才看到没有人回

我每2分钟去FTP上传新文件。 我用java.util.Timer实现了它。但经过一段时间——几天甚至一周——它毫无例外、毫无理由地停止了

我发现了一条线索:

但其中并没有特别的解决方案。 我读过ScheduledExecutorService,但据我所知,它和Timer是一样的


请给我一些想法

您可以尝试在主线程中使用
Thread.setDefaultUncaughtExceptionHandler()
API设置默认异常处理程序,并尝试记录任何可能被悄悄吞没的可丢弃/异常。

我刚才看到没有人回答这个问题,可能是因为这是重复的

ScheduledExecutorService使用
System.nanotime()
和Java.util.Timer使用
System.currentTimeMillis()

System.currentTimeMillis()
取决于系统时间,并且
System.nanotime()
给出了纳秒,因为一些固定的任意初始时间与系统时间无关。因此,系统时间的任何变化(由于NTP时间修正或系统备用)可能会或可能不会影响计时器的执行。这就是计时器失败的原因


有关更多详细信息,请参阅-

在稀疏线程上运行的计时器。如果发生任何异常,线程将停止。捕获run()或类似方法中的所有可丢弃文件,并将其输出到日志。