Java中安全有效的中断线程的方法_第1页
Java中安全有效的中断线程的方法_第2页
Java中安全有效的中断线程的方法_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Java中平安有效的中断线程的方法现在,如果你要平安有效地终止一个线程,应该采纳以下这些方法:i线程正常执行完毕,正常终止。也确实是让run方法执行完毕,该线程就会正常终止。2监视某些条件,终止线程的不间断运行。然而,常常有些线程是伺服线程。它们需要长时刻的运行,只有在外部某些条件满足的情形下,才能关闭这些线程。通常,它们执行在一个while(true)的死循环中。如:publicvoid run() while(true) someWork(); if(fi ni shed) break;try Thread.sleep(10000); catch (InterruptedException

2、 e) /* TODO自动生成 catch 块*/e.pri ntStackTrace();我们能够在 while死循环内,每次循环时,观看外部条件,看看是否需要关闭当前线程。如果是,就 break,跳出死循环,或者是抛出专门,跳出死循环,终止线程3捕捉InterruptedException 运行时专门,中断当前线程。有些执行伺服任务的线程,在while(true)如此的死循环内部,是一个堵塞中的方法。现在,就不能采纳第二种方法了。因为,当该方法没有返回时,该线程一直处于堵塞当中,全然无法执行其他语句。现在,就需要调用该线程的interrupt方法,产生一个InterruptedExcept

3、ion运行时专门,是堵塞中的那个方法抛出那个专门,从而让我们有时机终止那个线程的执行。女口: publicvoid run() while(true) try / getSendMessages 是 BlockingQueue 类。它的 take 方法将会 堵塞!resp on seMessage =this.getSe ndMessages().take(); catch (In terruptedExcepti on e1) throw new Run timeExceptio n();/ 或者 break; someWork();一个外部的Thread对象 指向那个线程。需要终止那个线程 时,只需要调用 thread对象的interrupt () 方法,就会在 responseMessage = this.getSendMessage ( s )。 take ();这条语句中产生一个Interrupte

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论