java - 为什么我的应用程序在有 while(true) 循环时停止运行?

标签 java multithreading

我有一个旨在“永远运行”的应用程序。为了实现这一点,我的代码处于 while(true) 循环下。

while(true){

   //My code is here 
   //What it does is that it calls some Url, 
   //gets xml, parses it and stores the values to a db.

}

此应用程序作为 java 应用程序运行,并在 Redhat Linux 上的 jdk 5 上运行。一两天后,我意识到日志甚至有 5 天前的 Activity ,这意味着它在 5 天前停止工作。但是当我检查机器中的java进程时,这个应用程序显示它正在运行。

问题:为什么会这样?

最佳答案

一个可能的原因是,在处理那些被代码调用和使用的 url 时抛出异常,因此处理失败,但应用程序继续运行。不幸的是,您只显示了注释,没有任何实际代码,所以这只是一个假设。

关于java - 为什么我的应用程序在有 while(true) 循环时停止运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4698764/

相关文章:

c++ - Matlab中的USRPs并行控制

java - 在java中编译和部署选定的模块

java - 如何解决 Spring 进程寻找 EJB JNDI 端点的错误?

c++ - 信号处理程序和多线程

mysql - 单消费者-多线程 vs 多消费者

java - 如何缓存锁以同步对域对象的访问

java - CardView 无法正确展开

java - Spring Security 拦截 url 似乎被跳过/忽略

java - 将图像添加到自定义 AlertDialog

multithreading - QT 信号和插槽在单线程应用程序中的直接连接行为