- public class ThreadDaemonDemo{
- public static void main(String[] args){
- MyThread mt = new MyThread() ;
- Thread t = new Thread(mt,"线程fffff");
- t.setDaemon(true) ; // 此线程在后台运行
- t.start() ; // 启动线程
- int sum =0;
- for(int i=1;i<1000000;i++){
- sum +=i;
- }
-
- }
- }
复制代码 将该线程标记为守护线程或用户线程。将该线程标记为守护线程或用户线程。当正在运行的线程都是守护线程时,Java 虚拟机退出。该方法必须在启动线程前调用。
当标记为守护线程时,由于你的代码主线程已经执行完了,而守护线程在这个过程中又没有抢到执行权,所以没有打印任务东西
将你的代码加入一些代码,让主线程多运行一会,就可以看到守护线程执行的东西了
守护线程的特点是开启后和其他线程共同抢夺CPU的执行权
开启和运行,和其他线程都没有区别,唯一的区别是当前台线程结束后守护线程也就结束了 |