java中终止线程的方法?

java中终止线程的方法?,第1张

在Java的多线程编程中,java.lang.Thread类型包含了一些列的方法start(),stop(),stop(Throwable)andsuspend(),destroy()andresume()。通过这些方法,我们可以对线程进行方便的 *** 作,但是这些方法中,只有start()方法得到了保留。本文是海文国际小编搜索整理的关于JAVA中终止线程的方法,供参考复习,希望对大家有所帮助!

如果真的需要终止一个线程,可以使用以下几种方法:

1、让线程的run()方法执行完,线程自然结束。(这种方法最好)

2、通过轮询和共享标志位的方法来结束线程,例如while(flag){},flag的初始值设为真,当需要结束时,java课程培训机构建议将flag的值设为false。(这种方法也不很好,因为如果while(flag){}方法阻塞了,则flag会失效)

在java程序中,可以使用java.lang.System的exit方法来终止程序的执行,

12345678

public static void main(String[] args) {System.out.println("开始进入程序...") //do somethingSystem.out.println("程序准备退出了!") System.exit(0) //下面这句话将不会打印出来System.out.println("程序已经退出了!")}

但是使用exit方法的本质是终止了JVM的运行,如果同时运行了另外一个程序,使用exit方法同样也会使该程序也终止,要避免此种情况可以使用interrupt()来中断退出一个独立运行的过程。对于多线程程序,必须要关闭各个非守护线程。

1234567891011121314151617181920212223

public static void main(String[] args) {System.out.println("开始进入程序...") //do somethingnew Thread(){public void run() {while (true) {System.out.println("我是另外的线程...") try {Thread.sleep(2000) } catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace() }}}}.start()//获取man线程Thread main = Thread.currentThread() System.out.println(main.getName()) main.interrupt() System.out.println("main线程已经退出了,但是不影响其他线程运行!") }

只有在程序非正常退出时,才使用exit方法退出程序。

在java程序中,可以使用java.lang.System的exit方法来终止程序的执行,publicstaticvoidmain(String[]args){System.out.println("开始进入程序")//dosomethingSystem.out.println("程序准备退出了!")System.exit(0)//下面这句话将


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8153076.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-13
下一篇 2023-04-13

发表评论

登录后才能评论

评论列表(0条)

保存