最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java安全停止線程的方法詳解

 更新時間:2019年10月11日 10:33:20   作者:MartinEDM  
這篇文章主要介紹了java安全停止線程的方法詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

Thread.stop()是一個被廢棄的方法,不被推薦使用的原因是stop方法太過于暴力,強行把執(zhí)行到一半的線程終止,并且會立即釋放這個線程所有的鎖。會破壞了線程中引用對象的一致性。

使用判斷標志位的方法中斷線程

  • interrupt() //線程中斷 (標志位設置為true)
  • isInterrupted() //判斷是否被中斷
  • interrupted() //判斷是否中斷,并清除當前中斷狀態(tài)(標志位改為false)
public static class TestThread extends Thread{
    public TestThread(String name){
      super(name);
    }

    @Override
    public void run() {
      String threadName=Thread.currentThread().getName();
      while (!isInterrupted()){  //Runnable中用 Thread.currentThread().isInterruputed
        System.out.println(threadName+" is run");
      }
      System.out.println(threadName+" flag is "+isInterrupted());
    }
  }
  public static void main(String[] args) throws InterruptedException {
    Thread testThread=new TestThread("test");
    testThread.start();
    Thread.sleep(2000);
    testThread.interrupt();
  }

當拋出 InterruptedException 異常,線程中斷標志位會被復位 false, 線程不會正常中斷 ,需要手動中斷interrupt()

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

最新評論

云浮市| 乌苏市| 镶黄旗| 措美县| 中西区| 雷州市| 伊春市| 三原县| 永宁县| 溆浦县| 高尔夫| 黄梅县| 池州市| 定结县| 锡林浩特市| 安岳县| 阳曲县| 英山县| 三原县| 苏尼特左旗| 马关县| 葫芦岛市| 万山特区| 盐山县| 齐齐哈尔市| 三亚市| 乡宁县| 湖口县| 江门市| 九寨沟县| 池州市| 磐安县| 安吉县| 海伦市| 富阳市| 崇义县| 襄垣县| 绥德县| 新源县| 临沧市| 巢湖市|