如何立刻中止一个线程

/** * Created by JuTao on 2017/2/4. * 如何中止一个线程 */ public class ThreadDone { public static void main(String[] args) throws InterruptedException { MyRunnable myRunnable=new MyRunnable(); Thread thread = new Thread(myRunnable); thread.start(); Thread.sleep(1000); //仅仅利用flag并不能使线程立刻中止,当run方法中有耗时操作时会等待执行完成才结束 myRunnable.flag=false; thread.interrupt(); } private static class MyRunnable implements Runnable { //立刻同步到子线程中 private volatile boolean flag = true; @Override public void run() { while (flag&&!Thread.interrupted()) { System.out.println("running"); try { Thread.sleep(8000); } catch (InterruptedException e) { //e.printStackTrace(); //thread.interrupt()执行后会立刻进入catch return; } } } } } 
    原文作者:Android
    原文地址: https://juejin.im/entry/5895f69a128fe10058deaeca
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞