01蚂蚁-并发编程-并发编程之多线程基础——1.守护线程和join()方法

什么是守护线程、非守护线程

  1. 什么是守护线程:和main相关
  2. 用户线程:用户自己创建的线程,用户创建线程,如果主线程停止掉,不会影响用户线程。用户线程非守护线程
    01蚂蚁-并发编程-并发编程之多线程基础——1.守护线程和join()方法_第1张图片
    守护线程:有一个特征和主线程一起销毁(gc线程随着主线程的销毁而销毁)
    非守护线程 特征:和主线程互不影响

下面看代码,当设置t1.setDaemon(true);是则该线程为守护线程。当主线程销毁时则该线程也就销毁了。

package com.jeremy;

public class Test005 {
	public static void main(String[] args) {
		Thread t1 = new Thread(new Runnable() {
			@Override
			public void run() {
				for(int i=0;i<30;i++) {
					try {
						Thread.sleep(300);
					} catch (Exception e) {
						// TODO: handle exception
					}
					System.out.println("子线程,i:"+i);
				}
				
			}
		});
		t1.setDaemon(true);//该线程为守护线程 和主线程一起销毁
		t1.start();
		
		for(int i=0;i<5;i++) {
			System.out.println("主线程,i:"+i);
		}
		System.out.println("主线

你可能感兴趣的:(01蚂蚁-并发编程-并发编程之多线程基础——1.守护线程和join()方法)