一个线程不能被提前强制性地终止线程这句话对吗

君,已阅读到文档的结尾了呢~~
第章Java多线程机制(精)
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
第章Java多线程机制(精)
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer--144.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口【图文】第八讲多线程_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
第八讲多线程
上传于|0|0|暂无简介
大小:305.50KB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢用户名:zhuweiat2009
文章数:11
访问量:48287
注册日期:
阅读量:1297
阅读量:3317
阅读量:442993
阅读量:1129029
51CTO推荐博文
&在Java中有专门终止某个线程的API,如stop()和interrupt()。其中stop()由于安全机制的我问题已经被废弃不用,现在就剩下interrupt。其实这个方法并不是一个终断动作的操作,而是一个设置终断状态的操作。它需要和isInterrupted()配合使用。例如:
package&org. &&&public&class&MyThread04&extends&Thread&{ &&&&& &&&&&private&boolean&stop&=&false; &&&&&public&MyThread04(String&threadName)&{ &&&&&&&&&super(threadName); &&&&&} &&&&&&@Override&&&&&public&void&run()&{ &&&&&&&&& &&&&&&&&&for&(int&j&=&0;&j&&&100;&j++)&{ &&&&&&&&&&&&&if(this.isInterrupted())&break; &&&&&&&&&&&&&System.out.println(Thread.currentThread().getName()+&:&+j); &&&&&&&&&&&&&try&{ &&&&&&&&&&&&&&&&&Thread.sleep(1000); &&&&&&&&&&&&&}&catch&(InterruptedException&e)&{ &&&&&&&&&&&&&&&&&e.printStackTrace(); &&&&&&&&&&&&&} &&&&&&&&&} &&&&&&&&& &&&&&} &&&&& &&&&&public&void&setStop()&{ &&&&&&&&&this.stop&=&true; &&&&&} &&&&&&&&&&&public&static&void&main(String[]&args)&{ &&&&&&&&&MyThread04&t&=&new&MyThread04(&辅线程&); &&&&&&&&&t.start(); &&&&&&&&& &&&&&&&&&for&(int&i&=&0;&i&&&10;&i++)&{ &&&&&&&&&&&&&System.out.println(Thread.currentThread().getName()+&:&+i); &&&&&&&&&} &&&&&&&&&System.out.println(&....................&); &&&&&&&&&t.interrupt(); &&&&&&&&& &&&&&} &} &
&&&&& 但这个很可能不会终止线程,因为当我们终止这个线程时很可能就会发生InterruptedException异常,当有这个异常发生时我们设置的终断状态也会被清除,所以我们要终断某个线程应采用以下这个方法:
package&org. &&&public&class&MyThread04&extends&Thread&{ &&&&& &&&&&private&boolean&stop&=&false; &&&&&public&MyThread04(String&threadName)&{ &&&&&&&&&super(threadName); &&&&&} &&&&&&@Override&&&&&public&void&run()&{ &&&&&&&&& &&&&&&&&&for&(int&j&=&0;&j&&&100;&j++)&{ &&&&&&&&&&&&&if(stop)&break; &&&&&&&&&&&&&System.out.println(Thread.currentThread().getName()+&:&+j); &&&&&&&&&&&&&try&{ &&&&&&&&&&&&&&&&&Thread.sleep(1000); &&&&&&&&&&&&&}&catch&(InterruptedException&e)&{ &&&&&&&&&&&&&&&&&e.printStackTrace(); &&&&&&&&&&&&&} &&&&&&&&&} &&&&&&&&& &&&&&} &&&&& &&&&&public&void&setStop()&{ &&&&&&&&&this.stop&=&true; &&&&&} &&&&&&&&&&&public&static&void&main(String[]&args)&{ &&&&&&&&&MyThread04&t&=&new&MyThread04(&辅线程&); &&&&&&&&&t.start(); &&&&&&&&& &&&&&&&&&for&(int&i&=&0;&i&&&10;&i++)&{ &&&&&&&&&&&&&System.out.println(Thread.currentThread().getName()+&:&+i); &&&&&&&&&} &&&&&&&&&System.out.println(&....................&); &&&&&&&&&t.setStop(); &&&&&} &} &
& 通过设置一个我们自己的标识来达到终端某个线程。本文出自 “” 博客,请务必保留此出处
了这篇文章
类别:┆阅读(0)┆评论(0)
13:43:26 09:20:10本帖子已过去太久远了,不再提供回复功能。}

我要回帖

更多关于 终止线程 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信