欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

守护线程

程序员文章站 2022-05-05 21:37:38
...

守护线程

实例

public class 守护线程 {
    public static void main(String[] args) {
        Thread t=new Thread(new MyRunnable());
        Thread workerThread=new Thread(new WorkerRunnable());
        t.setDaemon(true);
        t.start();
        for(int i=0;i<30;i++){
            if (i==0) {
                System.out.println("按理是此(主函数)线程先于工作线程开始和结束,以及保护线程结束");//第一句输出
            }
            System.out.print("i="+i+";");
        }
        System.out.println("");
        workerThread.start();
    }
}
class  MyRunnable implements Runnable{//保护线程

    @Override
    public void run() {        
        while (true) {            
            System.out.println("对工作线程的数据进行处理中...");
            
            try {
                Thread.sleep(500);
            } catch (InterruptedException ex) {System.out.println("数据处理异常");            }
        }
    }
}
class WorkerRunnable implements Runnable{//工作线程
    int number;
    @Override
    public void run() {
        int number=1;
        for(int i=0;i<30;i++){
            number+=this.number;
            System.out.println("number+=this.number="+number);
            this.number=i+1;
            System.out.println("this.number="+i+"+1="+(i+1));
            System.out.println("工作线程进入休眠状态1秒");
            try {
                Thread.sleep(1000);
            } catch (InterruptedException ex) {
                System.out.println("工作线程休眠异常");
            }
        }
    }
}

运行截图(部分)

守护线程