java ScheduledExecutorService任务在多次执行后停止

java ScheduledExecutorService任务在多次执行后停止,java,multithreading,scheduledexecutorservice,Java,Multithreading,Scheduledexecutorservice,我有一个问题,我试图在ScheduledExecutorService中执行一个任务,并且我正在使用以下命令执行该任务: updateTagDataHandle = scheduler.scheduleWithFixedDelay(updateTagDataRunnable, 500, 500, TimeUnit.MILLISECONDS); 几次成功运行后,它停止运行。任务本身需要几秒钟的时间,我用println检查它是否在任务结束时没有错误,我打印任何异常,但最后没有看到异常。我需要它继续

我有一个问题,我试图在ScheduledExecutorService中执行一个任务,并且我正在使用以下命令执行该任务:

updateTagDataHandle = scheduler.scheduleWithFixedDelay(updateTagDataRunnable, 500, 500, TimeUnit.MILLISECONDS);
几次成功运行后,它停止运行。任务本身需要几秒钟的时间,我用println检查它是否在任务结束时没有错误,我打印任何异常,但最后没有看到异常。我需要它继续运行无限次

任何帮助都将不胜感激

编辑

我初始化任务计划程序的代码是:

scheduler = Executors.newScheduledThreadPool(1);
所以corePoolSize=1,所以只有一个线程处于活动状态,任务在线程上共享这个线程。但将线程池设置为多个线程并没有帮助,而且似乎只有一个线程处于活动状态

同样的问题:

在这里:

任何帮助都将不胜感激

编辑:

未找到解决方案,因此使用计划程序自定义线程创建:

scheduler = Executors.newScheduledThreadPool(7, new ThreadFactory() {

        @Override
        public Thread newThread(Runnable r) {

            return new Thread(r);
        }
    });

尝试将初始延迟更改为1000毫秒。

我在我的android应用程序中尝试了相同的代码,解决了问题。

您是否正在调用scheduler上的shutdown?或者是否存在interruptedexception?没有调用shutdown,也没有interruptedexception,池中有多个线程,但所有线程仅在线程上共享。您是否找到了解决方案?如果没有,您做了什么?没有找到解决方案,因此我使用了问题中所述的自定义线程创建