Java后台线程操作示例【守护线程】

网友投稿 266 2022-12-27


Java后台线程操作示例【守护线程】

本文实例讲述了java后台线程操作。分享给大家供大家参考,具体如下:

一 点睛

有一种线程,它是后面运行的,它的任务是为其他线程提供服务,这种线程被称为“后台”线程,又称为“守护线程”或“精灵线程”。JVM的垃圾回收线程就是典型的后台线程。

后台线程有个特征:如果所有的前台线程都死亡,后台线程会自动死亡,

调用Thread对象的setDaemon(true)方法可将指定线程设置成后台线程,所有的前台线程都死亡时,后台线程随之死亡。当整个虚拟机中只剩下后台线程时,程序就没有继续运行的必要了,虚拟机也就退出了。

二 代码

public class DaemonThread extends Thread

{

// 定义后台线程的线程执行体与普通线程没有任何区别

public void run()

{

for (int i = 0; i < 1000 ; i++ )

{

System.out.println(getName() + " " + i);http://

}

}

public static void main(String[] args)

{

DaemonThread t = new DaemonThread();

// 将此线程设置成后台线程

t.setDaemon(true);

// 启动后台线程

t.start();

for (int i = 0 ; i < 10 ; i++ )

{

System.out.println(Thread.currentThread().getName()

+ " " + i);

}

// -----程序执行到此处,前台线程(main线程)结束------

// 后台线程也应该随之结束

}

EgavM}

三 运行

main  0

Thread-0  0

main  1

Thread-0  1

main  2

Thread-0  2

main  3

Thread-0  3

main  4

Thread-0  4

main  5

Thread-0  5

main  6

Thread-0  6

main  7

Thread-0  7

main  8

Thread-0  8

main  9

Thread-0  9

Thread-0  10

Thread-0  11

Thread-0  12

Thread-0  13

Thread-0  14

Thread-0  15

Thread-0  16

Thread-0  17

Thread-0  18

四 说明

上面程序中先将t线程设置成后台线程,然后启动该线程,本来该线程应该执行到i等于999才会结束,但从结果不难发现,该后台线程无法运行到999,因为当主线程也就是程序唯一的前台线程运行结束后,JVM会主动退出,因而后台线程也就被结束了。

主线程默认是前台线程,t线程默认也是前台线程。并不是所有的线程默认都是前台线程,有些线程默认就是后台线程——前台线程创建的子线程默认是前台线程,后台线程创建的子线程默认是后台线程。

setDaemon(true)必须在start()方法之前调用,否则会引发异常。

更多java相关内容感兴趣的读者可查看本站专题:《Java进程与线程操作技巧总结》、《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》

希望本文所述对大家java程序设计有所帮助。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:关于rest api测试工具的信息
下一篇:医院系统接口设计方案范本(医院设计方案文本)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~