网站导航网,有哪些好的响应式网站,专业的app网站开发,南宁网络推广公司哪家好DaemonExercise
package DaemonExercise20240812;public class DaemonExercise {public static void main(String[] args) {// 守护线程// 当普通线程执行完毕之后#xff0c;守护线程没有继续执行的必要#xff0c;所以说会逐步关闭#xff08;并非瞬间关闭#xff09;//… DaemonExercise
package DaemonExercise20240812;public class DaemonExercise {public static void main(String[] args) {// 守护线程// 当普通线程执行完毕之后守护线程没有继续执行的必要所以说会逐步关闭并非瞬间关闭// 作用主要是在后台执行一些辅助任务// 1.后台任务执行守护线程通常用于执行一些不需要用户干预的后台任务例如日志记录、系统监控等。所以说当主线程退出不需要监控了则守护线程也退出// 2.垃圾回收在Java中垃圾回收是经典的守护线程在后台运行自动回收不再使用的后台资源提高程序运行效率// void setDaemon(boolean on) 将此线程标记为守护线程若运行的线程都是守护线程JVM退出MyThread1 myThread1 new MyThread1();MyThread3 myThread3 new MyThread3();MyThread2 myThread2 new MyThread2(); // 该线程是守护线程// 设置守护线程myThread2.setDaemon(true);myThread1.setName(线程1);myThread2.setName(线程2);myThread3.setName(线程3);myThread1.start();myThread2.start();myThread3.start();// 可见当普通线程全部执行完成之后守护线程逐步关闭// 若守护线程已经执行完毕但是还有普通线程还在执行那么守护线程关闭不会影响其他线程的执行}
}MyThread1
package DaemonExercise20240812;public class MyThread1 extends Thread {Overridepublic void run() {for (int i 0; i 10; i) {System.out.println(this.getName() : i);}}
}MyThread2
package DaemonExercise20240812;public class MyThread2 extends Thread {Overridepublic void run() {for (int i 0; i 100; i) {System.out.println(this.getName() : i);}}
}MyThread3
package DaemonExercise20240812;public class MyThread3 extends Thread {Overridepublic void run() {for (int i 0; i 40; i) {System.out.println(this.getName() : i);}}
}