欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

守护线程,需要通过调用线程方法:setDaemon(boolean on)来进行设置

程序员文章站 2023-11-02 14:56:04
package seday08.thread;/*** @author xingsir * 守护线程又称为后台线程,默认创建出来的线程都是普通线程, 守护线程需要通过调用线程方法:setDaemon(boolean on)来进行设置。* 守护线程使用上与普通线程没有区别,但是在结束时机上有一个 不同 ......

package seday08.thread;
/**
* @author xingsir
* 守护线程又称为后台线程,默认创建出来的线程都是普通线程, 守护线程需要通过调用线程方法:setdaemon(boolean on)来进行设置。
* 守护线程使用上与普通线程没有区别,但是在结束时机上有一个 不同之处:进程结束时,所有正在运行的守护线程都会被强制停止。
* 而进程结束:当一个进程中所有的普通线程结束时进程结束
* 我们也可以将某些会一致运行的任务,并且当主要业务执行完毕 后可以跟着一同结束的就都放在守护线程上运行即可。
*/
public class daemonthreaddemo {

public static void main(string[] args) {
//
thread alin =new thread() {
public void run() {
for(int i=0;i<6;i++) {//循环6次,跑6圈
system.out.println("alin跑"+i+"圈");//打印圈数
try {
thread.sleep(1000);//设置阻塞指定的10000毫秒
} catch (interruptedexception e) {

}
}
system.out.println("alin:我跑完了....");
system.out.println("结束!");//观察marck也结束了
}
};
thread marck = new thread() {
public void run() {
while(true) {//这里设置为一直循环下去,也就是marck会一直跑
system.out.println("marck跟一圈");
try {
thread.sleep(1000);//设置阻塞指定的10000毫秒
} catch (interruptedexception e) {
}
}
}
};
alin.start();//启动线程要调用start

//线程启动前进行设置
marck.setdaemon(true);//设置为守护线程,此时若alin跑完,marck也跟着跑完,

marck.start();//启动线程要调用start

}

}