菜鸟教程 -- 学的不仅是技术,更是梦想!

Java 教程
(追記) (追記ここまで)

Java 实例 - 中断线程

Java 实例 Java 实例

以下实例演示了如何使用interrupt()方法来中断线程并使用 isInterrupted() 方法来判断线程是否已中断:

Main.java 文件

publicclassMainextendsObjectimplementsRunnable{publicvoidrun(){try{System.out.println("in run() - 将运行 work2() 方法"); work2(); System.out.println("in run() - 从 work2() 方法回来"); }catch(InterruptedExceptionx){System.out.println("in run() - 中断 work2() 方法"); return; }System.out.println("in run() - 休眠后执行"); System.out.println("in run() - 正常离开"); }publicvoidwork2()throwsInterruptedException{while(true){if(Thread.currentThread().isInterrupted()){System.out.println("C isInterrupted()=" + Thread.currentThread().isInterrupted()); Thread.sleep(2000); System.out.println("D isInterrupted()=" + Thread.currentThread().isInterrupted()); }}}publicvoidwork()throwsInterruptedException{while(true){for(inti = 0; i < 100000; i++){intj = i * 2; }System.out.println("A isInterrupted()=" + Thread.currentThread().isInterrupted()); if(Thread.interrupted()){System.out.println("B isInterrupted()=" + Thread.currentThread().isInterrupted()); thrownewInterruptedException(); }}}publicstaticvoidmain(String[]args){Mainsi = newMain(); Threadt = newThread(si); t.start(); try{Thread.sleep(2000); }catch(InterruptedExceptionx){}System.out.println("in main() - 中断其他线程"); t.interrupt(); System.out.println("in main() - 离开"); }}

以上代码运行输出结果为:

in run() - 将运行 work2() 方法
in main() - 中断其他线程
in main() - 离开
C isInterrupted()=true
in run() - 中断 work2() 方法

Java 实例 Java 实例

AI 思考中...

点我分享笔记

  • 昵称 (必填)
  • 邮箱 (必填)
  • 引用地址

AltStyle によって変換されたページ (->オリジナル) /