测试守护线程,1。使用内部类创建线程的方式创建线程d,该线程实现每隔0.1秒输出字符串“后台线程”。2.设置线程d为守护线程并启动该线程。3.使main线程阻塞5秒,然后输出字符串“main线程结束了”。
一、创建线程,实现每隔0.1秒输出字符串“后台线程”,首先新建类TestDaemonThread;然后在该类的main方法中,使用内部类创建线程的方式创建线程d;最后线程d实现每隔0.1秒输出字符串“后台线程”。
二、设置d线程为后台线程,在main方法中,首先设置d线程为后台贤臣并启动该线程;然后使用Thread类的sleep方法使main线程阻塞5秒;最后输出字符串“main线程结束了”
import java.awt.Color;
import javax.swing.JFrame;
import javax.swing.JPanel;
//获取线程名字及ID
public class TestDaemonThread {
//测试线程的getName方法及getId方法
public static void main(String[] args){
Thread d = new Thread(){
public void run(){
while(true){
System.out.println("后台线程");
try{
Thread.sleep(100);
}catch(InterruptedException e){
}
}
}
};
d.setDaemon(true);
d.start();
try{
Thread.sleep(5000);
}catch(InterruptedException e){
}
//进程中所有前台线程结束后,后台线程强制结束
System.out.println("main线程结束了");
}
}
运行TestDaemonThread类,控制台会不断输出字符串“后台线程”,直到输出字符串“main线程结束了”为止。这是因为d线程被设置为守护线程,守护线程的特点是当进程中只剩下守护线程时,所有守护线程强制终止。