线程的setDaemon(true)方法声明线程为一个后台线程。当main主线程结束后,只要存在前台线程,那么整个进程不会结束。
public static void main(String args[]){
Thread t1= new Thread(new Runnable() {
@Override
public void run() {
while(true){
System.out.println("run():"+Thread.currentThread().getName());
}
}
});
Thread t2= new Thread(new Runnable() {
@Override
public void run() {
while(true){
System.out.println("run():"+Thread.currentThread().getName());
}
}
});
t1.setDaemon(true);
t1.start();
t2.start();
}
可以发现,主线程虽然结束了,但是2个线程仍然在活动。