`
MauerSu
  • 浏览: 509343 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

java守护进程

 
阅读更多
源:http://blog.sina.com.cn/s/blog_63dac1ed01017tva.html
评:

1.所谓守护线程就是运行在程序后台的线程,程序的主线程Main(比方java程序一开始启动时创建的那个线程)不会是守护线程.

2.Daemon thread在Java里面的定义是,如果虚拟机中只有Daemon thread 在运行,则虚拟机退出。
  虚拟机中可能会同时有很多个线程在运行,只有当所有的非守护线程都结束的时候,虚拟机的进程才会结束,不管在运行的线程是不是main()线程。

3.Main主线程结束了(Non-daemon thread),如果此时正在运行的其他threads是daemon threads,JVM会使得这个threads停止,JVM也停下.
  如果此时正在运行的其他threads有Non-daemon threads,那么必须等所有的Non daemon线程结束了,JVM才会停下来.

4.总之,必须等所有的Non-daemon线程都运行结束了,只剩下daemon的时候,JVM才会停下来,注意Main主程序是Non-daemon线程.

public class A  implements Runnable{   


public void run()
{

for(;;){

System.out.println("hello world");
}
}
public static void main(String[] args) throws InterruptedException {
// TODO Auto-generated method stub
Thread thread = new Thread(new A());
//thread.setDaemon(true);   //设置为守护进程
thread.start();
Thread.sleep(3000);
}
}
分享到:
评论

相关推荐

    守护进程(java)

    守护进程在Linux或Unix等类Unix系统中广泛存在,但Java作为一种跨平台的语言,其本身并不直接支持守护进程的概念。不过,由于Java的跨平台特性,开发者可以通过模拟实现类似的功能。 在Java中,我们可以利用线程...

    Windows下设置守护进程JAR包挂掉自动重启,bat文件(已完美测试)

    这个bat脚本资源可以在Windows环境下实现Java程序的守护进程和自动重启。它通过一个循环监控Java程序进程,如果检测到程序异常退出,会自动重启程序。同时具有可配置的重启次数和重启间隔时间。 这个小巧但实用的bat...

    java实现守护进程,有单独的监听进程, 两个或多个进程,两个或多个jvm

    在Java编程环境中,实现守护进程(Daemon)以及创建多个进程和JVM是非常常见的需求,特别是在构建分布式系统或者需要持续后台运行的服务时。本篇将详细阐述如何使用Java来实现这些功能。 守护进程通常是一个在后台...

    java中守护进程小结

    这就意味着,如果一个Java程序只有一个主进程和若干守护线程,那么当主进程结束时,无论守护线程是否还在执行,JVM都会立即停止运行。 我们来看三种不同设置守护线程的情况: **情况一:**所有线程在启动前就被...

    linux上通过sh方式启动java jar程序并做为守护进程

    在Linux系统中,Java应用程序通常以两种主要方式运行:直接通过命令行或作为守护进程(daemon)。本篇文章将深入探讨如何使用`sh`脚本来启动Java的JAR程序,并将其设置为守护进程,以便在后台持续运行,即使用户注销...

    MCDaemon:用于自动 Minecraft 服务器维护的 Java 守护进程

    用于自动 Minecraft 服务器维护的 Java 守护进程 -- Beta 0.3 发布 -- 详情请访问 特征: 自动初始化和更新 自动崩溃检测和重启 外部备份脚本的预定调用 支持的 Minecraft 版本: 香草 武吉(已过时,目前未维护...

    Linux中将Tomcat添加到守护进程

    在Linux环境中,为了确保应用程序如Tomcat能够随系统自动启动并作为守护进程运行,需要进行一系列的配置步骤。本文将详细介绍如何将Tomcat添加到Linux的守护进程,并处理"Invalid user name 'tomcat' specified"的...

    守护进程(互相监听)

    开发者采用了更深入的解决方案,通过使用NDK(Native Development Kit)和JNI(Java Native Interface)技术,直接在Android的C/C++层处理守护进程的管理和交互。这种方法能更有效地控制和优化资源使用,提高性能,...

    Java实现Linux下双守护进程

    【Java实现Linux下双守护进程】的目的是为了提高服务器程序的稳定性和自动化管理。在Linux系统中,守护进程(Daemon)常驻后台运行,用于监控并管理其他服务,确保其正常运行。Java环境下,由于Java程序运行在JVM上...

    Java实现Linux下服务器程序的双守护进程

     大多数的解决方法是使用其他进程来守护服务器程序,如果服务器程序挂了,通过守护进程来启动服务器程序。  万一守护进程挂了呢?使用双守护来提高稳定性,守护A负责监控服务器程序与守护B,守护B负责监控守护A...

    Windows使用bat批处理实现守护进程脚本.bat

    Windows使用bat批处理实现守护进程脚本

    tomcat守护进程.rar

    标题中的“tomcat守护进程.rar”指的是一个关于如何在Windows操作系统下配置Tomcat服务器作为守护进程的教程或代码集合。守护进程(Daemon)通常是指在后台运行而不与用户交互的进程,这种设置允许Tomcat在没有图形...

    Linux系统中守护进程的创建方法.pdf

    同时,守护进程也可以使用其他编程语言来实现,如 Python、Java 等。 Linux 系统中守护进程的创建方法对系统的发展和应用产生了重要的影响。守护进程可以周期性地执行某种任务或等待处理某些特定的事件,使得系统...

    Windows下 tomcat的守护进程、心跳程序

    ### Windows 下 Tomcat 的守护进程与心跳检测程序详解 在 IT 领域,特别是 Java Web 开发中,Apache Tomcat 是一个非常重要的轻量级应用服务器,它主要用于部署 Java Web 应用程序。在实际生产环境中,为了保证服务...

    windows守护进程,开机自动重启,进程监测

    因为控制台程序出现过因为连接第三方服务超时直接挂掉(此时负载少了一个节点)以及服务器出现意外重启问题(该服务器所有节点宕机),所以需要一个进程守护程序。 也找过 现场的脚本、python的程序、pm2守护方式,...

    java 进程通信 实例(直接运行)

    开启守护进程,获取消息: package com.test; import org.msun.process.ProcessMonitor; import org.msun.process.ProcessMonitor.NewMsgListener; /** * 开启守护进程 */ public class StartService { ...

    PHP-Java-Bridge

    2. **部署JavaBridge.jar**:将JavaBridge.jar放在服务器的适当位置,并确保Java守护进程可以访问。 3. **配置PHP**:将Java.inc添加到PHP的include_path中,以便PHP脚本可以轻松地引入和使用。 4. **启动Java守护...

    守护进程(android5.1)

    在Android 5.1中,守护进程主要由Java代码实现,但也有部分用C/C++编写,这些原生代码通常用于执行性能敏感或与硬件交互的任务。Android系统中的守护进程包括网络管理、电源管理、硬件抽象层(HAL)服务、媒体服务等多...

    android 基于aidl实现的守护进程

    在Android系统中,守护进程(Daemon)是一种在后台运行的服务,它不依赖任何用户界面,可以在设备启动后持续运行,为其他应用或服务提供长期运行的功能。守护进程通常用于执行那些需要长时间运行或者需要在系统启动...

    守护进程(C语言写的360绝对杀不死)

    本项目提供了一个用C语言编写的守护进程示例,并通过JNI(Java Native Interface)打包成SO库,以确保其在Android设备上不受安全软件如360清理的影响。 守护进程的特性包括: 1. **独立于控制终端**:守护进程运行...

Global site tag (gtag.js) - Google Analytics