Java教程

6.7Java线程的分类

本文主要是介绍6.7Java线程的分类,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

6.7Java线程的分类

Java中线程的分类

  • 默认的用户线程

  • 为用户线程服务的守护线程--->daemon


Java中线程的特点

  • 虚拟机必须确保用户线程执行完毕(不需要等待守护线程执行完毕)

  • 虚拟机不用等待守护线程执行完毕--->如后台记录操作日志、监控内存使用

Java守护线程的设置和守护线程的使用
package iostudy.priority;
​
/**
 * Java线程分类测试
 * 1、用户线程
 * 默认线程都是用户线程,虚拟机等待所有线程执行完毕才会停止。否则他不会停止
 * 2、守护线程
 * 守护线程为用户线程服务,jvm停止不用等待守护吸纳成执行完毕
 * @since JDK 1.8
 * @date 2021/6/7
 * @author Lucifer
 */
public class DaemonTest {
    public static void main(String[] args) {
​
        /*实例化两个线程对象*/
        God god = new God();
        You you = new You();
​
        /*实例化代理类,调用start方法*/
        Thread t = new Thread(god);
        /*再中间设置线程类型*/
        t.setDaemon(true); //将用户线程调整为守护线程
        /*
        用户线程执行完毕就会直接停止
        不用等待守护线程执行完毕
         */
        t.start();
​
        new Thread(you).start();
    }
}
​
/**
 * 创建多线程实现类
 * 这是一个用户线程
 * @since JDk 1.8
 * @date 2021/6/7
 * @author Lucifer
 */
class You implements Runnable{
​
    /*重写run方法*/
    @Override
    public void run(){
        /*循环输出生命周期*/
        for (int i = 1; i <= 365 * 100; i++){
            System.out.println("Life!!!");
        }
        System.out.println("JunkingBoy");
    }
}
​
/**
 * 创建一个守护线程
 * @since JDK 1.8
 * @date 2021/6/7
 * @author Lucifer
 */
class God implements Runnable{
​
    /*重写run方法*/
    @Override
    public void run(){
        while (true){
            System.out.println("God Father!");
        }
    }
}

 

这篇关于6.7Java线程的分类的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!