成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

java多線程: 如何停止線程

avwu / 943人閱讀

摘要:和線程停止相關(guān)的三個(gè)方法中斷線程。另外對(duì)于返回的線程不起作用。判斷線程中斷狀態(tài),但不會(huì)清除線程中斷狀態(tài)。線程停止的幾種情況使用退出標(biāo)記,方法執(zhí)行完畢,線程正常退出。在線程內(nèi)部使用結(jié)束線程。

和線程停止相關(guān)的三個(gè)方法

/*
中斷線程。如果線程被wait(),join(),sleep()等方法阻塞,調(diào)用interrupt()會(huì)清除線程中斷狀態(tài),并收到InterruptedException異常。另外interrupt();對(duì)于isAlive()返回false的線程不起作用。
*/
 public void interrupt();
    /*
    靜態(tài)方法,判斷線程中斷狀態(tài),并且會(huì)清除線程的中斷狀態(tài)。所以連續(xù)多次調(diào)用該方法,第二次之后必定返回false。另外,isAlive()用于判斷線程是否處于存活狀態(tài),如果isAlive()返回false,interrupted()也必定返回false。
    */
 public static boolean interrupted();
/*
判斷線程中斷狀態(tài),但不會(huì)清除線程中斷狀態(tài)。另外,isAlive()用于判斷線程是否處于存活狀態(tài),如果isAlive()返回false,interrupted()也必定返回false。
*/
 public boolean isInterrupted();

線程停止的幾種情況:
1: 使用退出標(biāo)記,run方法執(zhí)行完畢,線程正常退出。
2: 使用stop()方法,已過(guò)時(shí)的方法,不推薦。
3: 使用interrupt()方法中斷線程。

interrupt()

多帶帶調(diào)用這個(gè)方法并不能中斷線程,只是打了一個(gè)中斷狀態(tài)的標(biāo)記。或者說(shuō)是將線程狀態(tài)更改為中斷狀態(tài)。
中斷線程可以通過(guò)以下幾種方法。

在線程內(nèi)部拋出異常。

在線程內(nèi)部使用return結(jié)束線程。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/77655.html

相關(guān)文章

  • Java線程學(xué)習(xí)(一)Java線程入門

    摘要:最近聽(tīng)很多面試的小伙伴說(shuō),網(wǎng)上往往是一篇一篇的多線程的文章,除了書籍沒(méi)有什么學(xué)習(xí)多線程的一系列文章。將此線程標(biāo)記為線程或用戶線程。 最近聽(tīng)很多面試的小伙伴說(shuō),網(wǎng)上往往是一篇一篇的Java多線程的文章,除了書籍沒(méi)有什么學(xué)習(xí)多線程的一系列文章。但是僅僅憑借一兩篇文章很難對(duì)多線程有系統(tǒng)的學(xué)習(xí),而且面試的時(shí)候多線程這方面的知識(shí)往往也是考察的重點(diǎn),所以考慮之下決定寫一系列關(guān)于Java多線程的文章...

    Donne 評(píng)論0 收藏0
  • 線程學(xué)習(xí)筆記(2):線程基礎(chǔ)

    摘要:和方法用來(lái)設(shè)置線程是否成為守護(hù)線程和判斷線程是否是守護(hù)線程。守護(hù)線程依賴于創(chuàng)建它的線程,隨它的消亡而消亡。使用提供的方法,提醒線程終止,但是否真正終止由線程自己決定。參考實(shí)戰(zhàn)高并發(fā)程序設(shè)計(jì)多線程干貨系列一多線程基礎(chǔ) 一、如何創(chuàng)建多線程 1、繼承Thread類 public class MyThread extends Thread { @Override public ...

    HelKyle 評(píng)論0 收藏0
  • java 線程基礎(chǔ), 我覺(jué)得還是有必要看看的

    摘要:主線程名我們啟動(dòng)的一個(gè)程序可以理解為一個(gè)進(jìn)程一個(gè)進(jìn)程中包含一個(gè)主線程線程可以理解為一個(gè)子任務(wù)中可以通過(guò)下面代碼來(lái)獲取默認(rèn)的主線程名運(yùn)行結(jié)果為這是線程的名字并不是方法通過(guò)此線程來(lái)執(zhí)行方法而已兩種方式創(chuàng)建線程繼承類實(shí)現(xiàn)接口實(shí)現(xiàn)接口并且多線程運(yùn)行 Java 主線程名 我們啟動(dòng)的一個(gè)程序可以理解為一個(gè)進(jìn)程, 一個(gè)進(jìn)程中包含一個(gè)主線程, 線程可以理解為一個(gè)子任務(wù). Java 中可以通過(guò)下面代碼來(lái)...

    kohoh_ 評(píng)論0 收藏0
  • Java基礎(chǔ)學(xué)習(xí)——線程停止線程和守護(hù)線程

    摘要:方法將凍結(jié)狀態(tài)的線程強(qiáng)制運(yùn)行,并拋出異常。注意只有在運(yùn)行狀態(tài)的線程才能讀到標(biāo)識(shí)位,最終停止線程。當(dāng)正在運(yùn)行的線程都是守護(hù)線程時(shí),虛擬機(jī)退出。 stop()等方法過(guò)時(shí)以后,停止線程的唯一方法就是結(jié)束run()方法:開(kāi)啟多線程運(yùn)行通常都是循環(huán)結(jié)構(gòu),只要使用標(biāo)識(shí)位控制住循環(huán),就可以讓run()方法結(jié)束,即線程結(jié)束。 特殊情況:當(dāng)線程處于了凍結(jié)狀態(tài)就不會(huì)讀取到標(biāo)記,那么線程就不會(huì)停止。 int...

    _Suqin 評(píng)論0 收藏0
  • Java 線程編程核心技術(shù)1

    摘要:線程是在進(jìn)程中獨(dú)立運(yùn)行的子任務(wù)。線程中斷狀態(tài)由該方法清除。測(cè)試線程對(duì)象是否已經(jīng)是中斷狀態(tài),但不清除狀態(tài)標(biāo)志。高優(yōu)先級(jí)的線程總數(shù)大部分先執(zhí)行完,但不代表高優(yōu)先級(jí)的線程全部先執(zhí)行完。當(dāng)進(jìn)程中不存在非守護(hù)線程了,則守護(hù)線程自動(dòng)銷毀。 進(jìn)程是受操作系統(tǒng)管理的基本運(yùn)行單元。 線程是在進(jìn)程中獨(dú)立運(yùn)行的子任務(wù)。使用多任務(wù)操作系統(tǒng)Windows后,可以最大限度地利用CPU的空閑時(shí)間來(lái)處理其他的任務(wù)。...

    hankkin 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<