首页 > 代码库 > java基础---->java多线程的使用(九)
java基础---->java多线程的使用(九)
这里我们通过实例来学习一下java多线程中关于interrupt方法的一些知识。
java多线程中的interrupt实例
一、java中的interrupt的使用
public class InterruptTest { public static void main(String[] args) { MyThread1 myThread1 = new MyThread1(); myThread1.start(); myThread1.interrupt(); System.out.println("isInterrupted is " + myThread1.isInterrupted()); // true System.out.println("isInterrupted is " + myThread1.interrupted()); // false } static class MyThread1 extends Thread { @Override public void run() { try { // The interrupted status of the thread is cleared by this method System.out.println("in isInterrupted is " + Thread.interrupted()); // true System.out.println("isInterrupted is " + Thread.currentThread().isInterrupted()); // false TimeUnit.SECONDS.sleep(5); System.out.println("my thread 1"); } catch (InterruptedException e) { e.printStackTrace(); } } }}
如果注释掉代码:System.out.println("in isInterrupted is " + Thread.interrupted());则打印的结果如下:
isInterrupted is trueisInterrupted is falseisInterrupted is truejava.lang.InterruptedException: sleep interrupted at java.lang.Thread.sleep(Native Method) at java.lang.Thread.sleep(Thread.java:340) at java.util.concurrent.TimeUnit.sleep(TimeUnit.java:360) at com.linux.huhx.thread2.InterruptTest$MyThread1.run(InterruptTest.java:21)
二、多线程中的中断停止线程运行
public class InterruptTest { public static void main(String[] args) throws Exception { MyThread1 myThread1 = new MyThread1(); myThread1.start(); myThread1.interrupt(); System.out.println("isInterrupted is " + myThread1.isInterrupted()); // true System.out.println("isInterrupted is " + myThread1.interrupted()); // false } static class MyThread1 extends Thread { @Override public void run() { while (true) { if (Thread.interrupted()) { System.out.println("break"); break; } System.out.println("count " + Thread.currentThread().isInterrupted()); // count false } } }}
一次的运行结果如下:
isInterrupted is trueisInterrupted is falsebreak
友情链接
java基础---->java多线程的使用(九)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。