Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.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/6/multithreading/4.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 ScheduledThreadPool多线程在一段时间后停止_Java_Multithreading_Scheduling_Executorservice - Fatal编程技术网

Java ScheduledThreadPool多线程在一段时间后停止

Java ScheduledThreadPool多线程在一段时间后停止,java,multithreading,scheduling,executorservice,Java,Multithreading,Scheduling,Executorservice,我正在开发一个J2SE应用程序,它可以同步存储在不同服务器上的四个数据库中的184辆汽车的GPS信息。对于每辆车,我创建一个线程并存储在ScheduledThreadPool中 ScheduledExecutorService executor = Executors.newScheduledThreadPool(20); for (int i = 0; i < cars.size(); i++) { Car vec_temp = cars.get(i);

我正在开发一个J2SE应用程序,它可以同步存储在不同服务器上的四个数据库中的184辆汽车的GPS信息。对于每辆车,我创建一个线程并存储在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);
    }
ScheduledExecutorService executor=Executors.newScheduledThreadPool(20);
对于(int i=0;i
纬度和经度信息由SocketServer在XML数据中检索,因此在SyncThread类中,我实例化一个套接字并请求信息并关闭该连接,每15分钟进行一次

由于某种原因,应用程序开始工作得很好,但有时会毫无例外地停止运行

jar作为windows服务运行。

根据

如果任务的任何执行 遇到异常,随后 死刑被禁止

也就是说,如果您将代码发布到
SyncThread
中,那就太好了,否则几乎无法帮助您。还有,什么是hilo?为什么要安排执行
hilo
,而不是
carThread

根据

如果任务的任何执行 遇到异常,随后 死刑被禁止


也就是说,如果您将代码发布到
SyncThread
中,那就太好了,否则几乎无法帮助您。还有,什么是hilo?为什么要安排执行
hilo
,而不是
carThread

尝试在可运行的实现中设置一个Try-catch块。其思想是禁止任何异常被抛出给执行者。理想情况下,如果您可以将此事件记录在catch块中并避免将其抛出,则应用程序应按预期工作,并且您将能够识别随后发生的情况。

尝试在可运行的实现中设置Try-catch块。其思想是禁止任何异常被抛出给执行者。理想情况下,如果您可以将此事件记录在catch块中并避免将其抛出,则应用程序应按预期工作,并且您将能够识别随后发生的情况。

SyncThread只需连接到套接字服务器kkSocket=new socket(ip,端口);out=新的PrintWriter(kkSocket.getOutputStream(),true);in=新的BufferedReader(新的InputStreamReader(kkSocket.getInputStream());他们输出一条消息并接收一条新的响应消息,最后关闭连接。。。每15分钟执行一次SyncThread只是简单地连接到一个套接字服务器kkSocket=新套接字(ip,端口);out=新的PrintWriter(kkSocket.getOutputStream(),true);in=新的BufferedReader(新的InputStreamReader(kkSocket.getInputStream());他们输出一条消息并接收一条新的响应消息,最后关闭连接。。。每15分钟做一次OK Yohan我试过并抛出了这个java.lang.Exception:连接超时:连接似乎是套接字连接有什么想法吗?@marman是的。这意味着您尝试建立的网络连接超时,因为另一端没有按预期及时响应。好的,Yohan,我尝试了,并抛出了这个java.lang.Exception:连接超时:连接似乎是套接字连接,知道吗?@marman,是的。这意味着您尝试建立的网络连接超时,因为另一端没有按预期及时响应。