主线程、守护线程、非守护线程

主线程

main,但不是守护线程。

守护线程

是指在程序运行的时候在后台提供一种通用服务的线程。如gc。

非守护线程

也叫用户线程,由用户创建。

关系:

主线程和守护线程一起销毁;

主线程和非守护线程互不影响。

例如:

package com.peng.thread;

/**
 * 1、用户线程(非守护线程)有主线程创建
 * 2、守护线程和主线程一起销毁
 * @author Fengc
 *
 */
public class ThreadDemo04 {

	public static void main(String[] args) {
		Thread t1 = new Thread(new Runnable() {
			@Override
			public void run() {
				for (int i = 0; i < 10; i++) {
					// 利用Thread.currentThread.getName()获取当前线程名字。
					System.out.println("子线程:"+Thread.currentThread().getName() + ":" + i);
				}
				System.out.println("子线程执行完毕。。。。");
			}
		});
		t1.start();
		for (int i = 0; i < 5; i++) {
			System.out.println("主线程:"+Thread.currentThread().getName() + ":" + i);
		}
		System.out.println("主线程执行完毕。。。。");
	}

}

//运行结果
主线程:main:0
主线程:main:1
子线程:Thread-0:0
主线程:main:2
子线程:Thread-0:1
主线程:main:3
子线程:Thread-0:2
主线程:main:4
子线程:Thread-0:3
主线程执行完毕。。。。
子线程:Thread-0:4
子线程:Thread-0:5
子线程:Thread-0:6
子线程:Thread-0:7
子线程:Thread-0:8
子线程:Thread-0:9
子线程执行完毕。。。。
//主线程结束后,子线程还在运行。主线程不影响子线程

猜你喜欢

转载自blog.csdn.net/NeiFen/article/details/82665184