/*
* 1.线程分用户线程和守护线程,对于jvm来说,只要存在一个用户线程,就不会结束;如果不存在任何用户线程,不管有多少守护线程,jvm都会结束退出
* 2.设置为守护线程,通过setDaemon(true)来设置,如不设置,默认为false,设置方法必须在线程启动前调用,否则抛出异常;jvm垃圾回收线程,就是典型的守护线程应用
* */
public class Test {
public static void main(String[] aregs) {
Thread m = new MoreThread();
m.setDaemon(true); //设置为false,程序死循环运行;设置为true,运行一段时间后,自动停止
m.start();
try {
Thread.sleep(1000);
System.out.println("====over====");
} catch(Exception e) {
}
}
}
class MoreThread extends Thread {
public void run() {
while (true)
System.out.println("run方法-->>" + Thread.currentThread().getName());
}
}
异步启动线程
public void runAsync() {
Thread thread = new Thread(this);
thread.setDaemon(false);
thread.start();
}