5.Java后台线程和JoIn线程使用

1.后台线程(也是守护线程)
package com.bailing;
/**
    后台线程:(守护线程)
    1.如果最后只剩下一个线程了是后台线程,程序结束了,后台线程也就销毁了
 */
public class shouhuThread extends  Thread {
    //调用父类的方法
    public  shouhuThread(String name){
        super(name);
    }
    //重写run方法
    @Override
    public void run() {
        //设置了一个延时操作了
        try {
            Thread.sleep(100);
        }catch (InterruptedException e){
            e.printStackTrace();
        }
        for (int i = 0; i <100 ; i++) {
            System.out.println(Thread.currentThread().getName()+":"+i);
        }
    }
    public static void main(String[] args) {
        //创建对象
        shouhuThread shouhuThread = new shouhuThread("线程");
        //设置守护线程
        shouhuThread.setDaemon(true);
        //判断当前的线程是不是有守护线程
        System.out.println(shouhuThread.isDaemon());
        //开启线程
        shouhuThread.start();
        //当这个设置为了守护线程,当线程变成了最后一个守护线程,程序马上结束了
        for (int i = 0; i <100 ; i++) {
            System.out.println(Thread.currentThread().getName()+":"+i);
        }
    }
}
2.Join方法 (加入线程的方法)
package com.bailing;
/**
   Join线程的使用方法:
       1.当线程是join方法的时候,他会等待加入的线程先执行完,然后在执行其他的线程
*/
public class JoinThread  extends  Thread
{
 //调用父类的方法
   public  JoinThread(String name){
       super(name);
   }
   @Override
   public void run() {
       //睡眠下
       try {
           Thread.sleep(100);
       }catch (Exception e){
           e.printStackTrace();
       }
       for (int i = 0; i <100 ; i++) {
           System.out.println(Thread.currentThread().getName()+":"+i);
       }
   }
   public static void main(String[] args) {
       //创建对象
       JoinThread joinThread = new JoinThread("Join线程");
       joinThread.start();
     //主线程的代码
       for (int i = 0; i <100 ; i++) {
           if (i == 50){
               try {
                 //join加入的方法
                   joinThread.join();
               } catch (InterruptedException e) {
                   e.printStackTrace();
               }
           }
           System.out.println(Thread.currentThread().getName()+":"+i);
       }
   }
}

你可能感兴趣的:(5.Java后台线程和JoIn线程使用)