package thread;
public class Thread_Daemon {
public static void main(String[] args) {
/**
* 后台线程在全部前台线程结束后,后台线程被结束
*
* 推论:java进程在全部前台线程结束时候结束。
* 如果java进程没有结束的话,则说明存在一个以上的没有结束的前台线程正在运行
*
*
* @author 清风已来
*/
Thread1 t1 =new Thread1();
Thread2 t2 =new Thread2();
Thread3 t3 =new Thread3();
//将t2线程设置为守护线程
t2.setDaemon(true);
//启动线程
t1.start();
t2.start();
t3.start();
/*
Thread t3 =new Thread() {
public void run() {
for(int i=0; i<200;i++) {
System.out.println("前台2:"+i);
try {
Thread.sleep(100);
}catch(InterruptedException e) {
e.printStackTrace();
}
}
System.out.println("前台2ok");
}
};*/
}
}
class Thread1 extends Thread{
public void run() {
for(int i=0; i<200;i++) {
System.out.println("前台:"+i);
try {
Thread.sleep(100);
}catch(InterruptedException e) {
e.printStackTrace();
}
}
System.out.println("前台ok");
}
}
class Thread2 extends Thread{
public void run() {
for(int i=0; i<500;i++) {
System.out.println("后台:"+i);
try {
Thread.sleep(100);
}catch(InterruptedException e) {
e.printStackTrace();
}
}
System.out.println("后台ok");
}
}
class Thread3 extends Thread{
public void run() {
for(int i=0; i<100;i++) {
System.out.println("前台2:"+i);
try {
Thread.sleep(100);
}catch(InterruptedException e) {
e.printStackTrace();
}
}
System.out.println("前台2ok");
}
}