国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > Java > 正文

Java中終止線程的三種方法

2019-11-26 13:27:10
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

Thread.stop, Thread.suspend, Thread.resume 和Runtime.runFinalizersOnExit 這些終止線程運(yùn)行的方法已經(jīng)被廢棄,使用它們是極端不安全的!

1.線程正常執(zhí)行完畢,正常結(jié)束

也就是讓run方法執(zhí)行完畢,該線程就會(huì)正常結(jié)束。

但有時(shí)候線程是永遠(yuǎn)無(wú)法結(jié)束的,比如while(true)。

2.監(jiān)視某些條件,結(jié)束線程的不間斷運(yùn)行

需要while()循環(huán)在某以特定條件下退出,最直接的辦法就是設(shè)一個(gè)boolean標(biāo)志,并通過(guò)設(shè)置這個(gè)標(biāo)志來(lái)控制循環(huán)是否退出。

public class ThreadFlag extends Thread {  public volatile boolean exit = false;  public void run() {    while (!exit) {      System.out.println("running!");    }  }  public static void main(String[] args) throws Exception {    ThreadFlag thread = new ThreadFlag();    thread.start();    sleep(1147); // 主線程延遲5秒    thread.exit = true; // 終止線程thread     thread.join();    System.out.println("線程退出!");  }}

3.使用interrupt方法終止線程

如果線程是阻塞的,則不能使用方法2來(lái)終止線程。

public class ThreadInterrupt extends Thread {  public void run() {    try {      sleep(50000); // 延遲50秒    } catch (InterruptedException e) {      System.out.println(e.getMessage());    }  }  public static void main(String[] args) throws Exception {    Thread thread = new ThreadInterrupt();    thread.start();    System.out.println("在50秒之內(nèi)按任意鍵中斷線程!");    System.in.read();    thread.interrupt();    thread.join();    System.out.println("線程已經(jīng)退出!");  }}

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持武林網(wǎng)。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 门头沟区| 甘肃省| 观塘区| 松江区| 闽侯县| 农安县| 新蔡县| 江城| 正定县| 阿鲁科尔沁旗| 株洲市| 伊川县| 峡江县| 霍山县| 东海县| 阜阳市| 双江| 眉山市| 集贤县| 静宁县| 漯河市| 石景山区| 晋州市| 平和县| 尼玛县| 阿拉善左旗| 博罗县| 芒康县| 宣汉县| 平定县| 阿合奇县| 寻甸| 革吉县| 丰台区| 吉木乃县| 宜黄县| 黎平县| 桓台县| 蒙自县| 泉州市| 嘉祥县|