我正在开发一个J2SE应用,该应用可以同步存储在不同服务器上四个数据库中的184辆汽车的GPS信息。我为每辆车创建一个Thread,并将其存储在ScheduledThreadPool中

    ScheduledExecutorService executor = Executors.newScheduledThreadPool(20);

    for (int i = 0; i < cars.size(); i++) {
        Car vec_temp = cars.get(i);
        SyncThread carThread = new SyncThread(q, vec_temp, reintentos);
        long sleep = carThread.calculateVehicleDelay();
        executor.scheduleAtFixedRate(hilo, 0, sleep, MILLISECONDS);
    }


经度和纬度信息由SocketServer以XML数据检索,因此在SyncThread类中,我实例化了一个Socket并询问信息并关闭该连接,每15分钟进行一次连接...

该应用程序由于某种原因开始运行良好,有时会在无异常的情况下停止运行...

该jar正在作为Windows服务运行。

最佳答案

根据API


  如果有任务执行
  遇到异常,随后
  处决被禁止。


话虽如此,如果您将代码发布在SyncThread内会很好,否则几乎不可能为您提供帮助。另外,什么是hilo?为什么要安排要执行hilo而不是carThread

07-26 02:51