zoukankan      html  css  js  c++  java
  • 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!");
          }
      }
    }

     

    It's a lonely road!!!
  • 相关阅读:
    解决ubuntu中firefox浏览器总是提示找不到server的问题
    Android学习笔记(14):相对布局RelativeLayout
    浅析java(多方面解读)
    做自己
    SGU 261. Discrete Roots (N次剩余)
    hdu1115 Lifting the Stone(几何,求多边形重心模板题)
    Android编码规范
    hdu 3790 最短路径问题
    怎样在gluster的源代码中加入自己的xlator
    处理空列表
  • 原文地址:https://www.cnblogs.com/JunkingBoy/p/14860613.html
Copyright © 2011-2022 走看看