基本信息:
守护线程:保护非守护线程,好比象棋中的车、马、象
非守护线程:被守护线程保护的线程,好比象棋中的将帅
规则:一旦非守护线程全部停止、守护线程也会停止,但实际中守护线程停止会有缓冲。
常见应用于:qq、飞秋聊天软件,聊天窗口(非守护线程)、文字内容或文件传输(守护线程)
代码演示:
public class Test { public static void main(String[] args) { Thread t1 = new Thread(){ @Override public void run() { for(int i=0;i<2;i++){ System.out.println("非守护线程"+this.isDaemon()); } } }; Thread t2 = new Thread(){ @Override public void run() { for (int i = 0; i < 50; i++) { System.out.println("守护线程"+this.isDaemon()); } } }; //设置t2为守护线程 t2.setDaemon(true); t1.start(); t2.start(); } }
理论上输出:非守护线程输出2次,守护线程立停止输出,实际上会有缓冲。