`

java的守护进程daemon

    博客分类:
  • java
阅读更多
网上找的一个简单的守护进程。守护线程与其他线程的区别是,如果守护线程是唯一运行着的线程,程序会自动退出。

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

/**
 * java 的守护进程示例,当任务执行完毕,守护进程运行结束
 * @author ahomeeye
 */
//主任务类
public class Daemon {

    public static void main(String[] args) {
        Thread d = new Daemons();
        System.out.println("d.isDaemon() = " + d.isDaemon());
        BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in));
        System.out.println("Waiting for CR");
        try {
            stdin.readLine();
        } catch (IOException e) {
        }
    }
}

 //主线程类
class Daemons extends Thread {

    private static final int SIZE = 10;
    private Thread[] t = new Thread[SIZE];

    public Daemons() {
        setDaemon(true);
        start();
    }

    public void run() {
        for (int i = 0; i < SIZE; i++) {
            t[i] = new DaemonSpawn(i);
        }
        for (int i = 0; i < SIZE; i++) {
            System.out.println("t[" + i + "].isDaemon() = " + t[i].isDaemon());
        }
        while (true) {
            yield();
        }
    }
}

//子线程类
class DaemonSpawn extends Thread {

    public DaemonSpawn(int i) {
        System.out.println("DaemonSpawn " + i + " started");
        start();
    }

    public void run() {
        while (true) {
            yield();
        }
    }
}
分享到:
评论
2 楼 ahomeeye 2012-07-20  
Wen_JN_86 写道
我是初学者,不太明白守护进程有什么用,主线程可以不需要守护线程独立的运行,而且主线程退出的话守护线程也会退出,那么守护线程的作用是什么呢?

守护进程可以设置为开机启动或者定时调用,可以跟任务计划cron配合使用。具体的你可以在网上搜了解一下。
1 楼 Wen_JN_86 2012-07-19  
我是初学者,不太明白守护进程有什么用,主线程可以不需要守护线程独立的运行,而且主线程退出的话守护线程也会退出,那么守护线程的作用是什么呢?

相关推荐

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

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

    守护进程(java)

    在操作系统的世界里,"守护进程"(Daemon)是一种在后台运行并不与终端关联的进程,它们通常用于提供系统服务,如网络服务、日志管理等。守护进程在Linux或Unix等类Unix系统中广泛存在,但Java作为一种跨平台的语言...

    java中守护进程小结

    Java中的守护线程(Daemon Threads)是用于支持应用程序运行的重要组件,它们在后台执行任务,不会阻止Java虚拟机(JVM)的退出。守护线程的主要任务是为其他非守护线程提供服务,例如垃圾回收线程就是典型的守护...

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

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

    守护进程(互相监听)

    在IT领域,守护进程(Daemon)是一种在后台运行的特殊类型的服务程序,它们不与任何终端关联,通常在操作系统启动时启动,持续运行直到系统关闭。守护进程在各种服务、监控任务以及系统管理中扮演着重要角色。在...

    Linux中将Tomcat添加到守护进程

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

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

    守护进程(Daemon)是一种后台运行的进程,它可以长期运行并执行特定的任务。对于 Tomcat 这样的应用服务器而言,守护进程可以在服务器异常关闭或遇到故障时自动启动,从而保证服务的连续性和稳定性。 心跳检测是一...

    tomcat守护进程.rar

    守护进程(Daemon)通常是指在后台运行而不与用户交互的进程,这种设置允许Tomcat在没有图形用户界面(GUI)的情况下持续运行。 描述中提到,“通过java程序实现在windows下对tomcat的监听和守护”,这意味着我们将...

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

    守护进程(Daemon)在计算机系统中扮演着至关重要的角色,它是后台运行的程序,通常不与用户交互,而是为其他服务或系统提供支持。在Linux和Unix-like操作系统中,守护进程广泛用于网络服务、系统管理任务以及持续...

    守护进程(android5.1)

    守护进程(Daemon)在计算机系统中,是一种在后台运行且不与终端直接关联的进程。在Android系统中,守护进程同样扮演着重要角色,尤其是在Android 5.1这样的版本中,它们是系统服务的重要组成部分,负责执行长期运行...

    Java实现Linux下双守护进程

    在Linux系统中,守护进程(Daemon)常驻后台运行,用于监控并管理其他服务,确保其正常运行。Java环境下,由于Java程序运行在JVM上,不能像C语言那样直接创建进程,因此实现守护进程需要特定的策略。 ### 一、简介 ...

    android 基于aidl实现的守护进程

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

    Python-NutzWk微服务开发框架应用守护进程

    在Python中,可以使用第三方库如`daemonize`或`py-daemon`来实现应用守护进程。这些库提供了标准化的方法来分离进程,使其脱离终端并以后台模式运行,同时保持日志记录和错误处理的能力。 例如,使用`py-daemon`库...

    jni守护进程及手机系统界面

    首先,让我们理解什么是守护进程(Daemon)。在计算机科学中,守护进程通常是指在后台运行并且不与终端直接关联的进程。它们在启动后常驻内存,为其他服务提供支持。在Android系统中,JNI守护进程可能是用来持续执行...

    java实现后台进程

    Java还支持创建守护线程(Daemon Thread),这类线程不会阻止JVM的退出。只有非守护线程还在运行时,JVM才会继续运行。可以通过setDaemon(true)方法设置线程为守护线程: ```java Thread daemon = new Thread(() -&gt;...

    tomcat守护程序,自启动.zip_tomcat 守护进程_tomcat 自启动_tomcat守护进程_tomcat自守护_守

    在操作系统中,守护进程(Daemon)是一种在后台运行且不与控制终端关联的进程。在Linux系统中,我们通常将服务设置为守护进程,以便它们能在用户登录或退出时继续运行。对于Tomcat,将其设置为守护进程意味着即使...

    commons-daemon-1.0.15-bin

    Apache Commons Daemon是一个开源项目,主要用于在Unix和Windows操作系统下实现Java守护进程(daemon)的功能。这个项目的目的是使得Java应用程序能够像系统服务一样在后台运行,不受用户会话的影响,即便用户已经...

    进程守护程序

    10. **编程语言支持**:多种编程语言都提供了创建守护进程的支持,如Python的`daemonize`库,C的`daemon()`函数,以及Java的`java.util.concurrent.ExecutorService`等。 守护进程在IT环境中广泛应用于各种场景,如...

    Android 通过JNI实现双守护进程,保证服务不被杀死 源码

    为了解决这个问题,开发者通常会采用一些策略来保持服务的持续运行,其中之一就是通过JNI(Java Native Interface)实现双守护进程。 JNI是一种让Java代码与本地(C/C++)代码交互的机制。在这个场景下,JNI被用来...

    僵尸进程介绍以及防范

    例如,可以编写一个简单的守护进程(daemon),该守护进程负责监控和回收所有子进程,以确保系统资源的有效利用。 了解僵尸进程及其影响后,开发者在设计多进程程序时应充分考虑进程生命周期的管理,避免僵尸进程的...

Global site tag (gtag.js) - Google Analytics