線程終止

線程終止

通過(guò) stop 終止

已被 jdk 棄用,它可能導(dǎo)致線程安全問(wèn)題裹赴。

通過(guò) interrupt 終止

推薦使用的方式喜庞。

通過(guò)標(biāo)志位終止

代碼邏輯中增加一個(gè)判斷,用于控制程序終止棋返。用于代碼邏輯是一種循環(huán)執(zhí)行的業(yè)務(wù)邏輯

代碼演示

StopThread 實(shí)現(xiàn) i 自增 j 自增

public class StopThread extends Thread{
    private int i=0,j=0;

    @Override
    public void run() {
        ++i;
        try{
            Thread.sleep(1000L);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        ++j;
    }

    public void print() {
        System.out.println("i=" + i + " j=" + j);
    }
}

線程終止操作

public class Hello {

    public static void main(String[] args) throws InterruptedException{
        StopThread thread = new StopThread();

        thread.start();

        Thread.sleep(100);

        //thread.stop(); 不推薦
        thread.interrupt();

        while (thread.isAlive()) {
            // 確保線程已經(jīng)終止
            System.out.println(thread.getState().toString());
        } // 輸出結(jié)果

        thread.print();
        System.out.println(thread.getState().toString());
    }
}

stop 終止輸出

TIMED_WAITING
i=1 j=0
TERMINATED

interrupt 終止輸出

TIMED_WAITING
RUNNABLE
RUNNABLE
RUNNABLE
RUNNABLE
RUNNABLE
RUNNABLE
RUNNABLE
RUNNABLE
RUNNABLE
RUNNABLE
RUNNABLE
RUNNABLE
RUNNABLE
RUNNABLE
RUNNABLE
RUNNABLE
RUNNABLE
RUNNABLE
RUNNABLE
RUNNABLE
RUNNABLE
i=1 j=1
TERMINATED
java.lang.InterruptedException: sleep interrupted
    at java.lang.Thread.sleep(Native Method)
    at hello.StopThread.run(StopThread.java:10)

通過(guò)標(biāo)志位終止

public class Hello {

    public volatile static boolean flag = true;

    public static void main(String[] args) throws InterruptedException {
        new Thread(() -> {
            try {
                while (flag) { // 判斷是否運(yùn)行
                    System.out.println("運(yùn)行中");
                    Thread.sleep(1000L);
                }
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }).start();
        // 3秒之后延都,將狀態(tài)標(biāo)志改為False,代表不繼續(xù)運(yùn)行
        Thread.sleep(3000L);
        flag = false;
        System.out.println("程序運(yùn)行結(jié)束");
    }
}
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末睛竣,一起剝皮案震驚了整個(gè)濱河市晰房,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌射沟,老刑警劉巖殊者,帶你破解...
    沈念sama閱讀 223,002評(píng)論 6 519
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異躏惋,居然都是意外死亡幽污,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,357評(píng)論 3 400
  • 文/潘曉璐 我一進(jìn)店門簿姨,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)距误,“玉大人簸搞,你說(shuō)我怎么就攤上這事∽继叮” “怎么了趁俊?”我有些...
    開封第一講書人閱讀 169,787評(píng)論 0 365
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)刑然。 經(jīng)常有香客問(wèn)我寺擂,道長(zhǎng),這世上最難降的妖魔是什么泼掠? 我笑而不...
    開封第一講書人閱讀 60,237評(píng)論 1 300
  • 正文 為了忘掉前任怔软,我火速辦了婚禮,結(jié)果婚禮上择镇,老公的妹妹穿的比我還像新娘挡逼。我一直安慰自己,他們只是感情好腻豌,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,237評(píng)論 6 398
  • 文/花漫 我一把揭開白布家坎。 她就那樣靜靜地躺著,像睡著了一般吝梅。 火紅的嫁衣襯著肌膚如雪虱疏。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,821評(píng)論 1 314
  • 那天苏携,我揣著相機(jī)與錄音做瞪,去河邊找鬼。 笑死兜叨,一個(gè)胖子當(dāng)著我的面吹牛穿扳,可吹牛的內(nèi)容都是我干的衩侥。 我是一名探鬼主播国旷,決...
    沈念sama閱讀 41,236評(píng)論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼茫死!你這毒婦竟也來(lái)了跪但?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,196評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤峦萎,失蹤者是張志新(化名)和其女友劉穎屡久,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體爱榔,經(jīng)...
    沈念sama閱讀 46,716評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡被环,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,794評(píng)論 3 343
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了详幽。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片筛欢。...
    茶點(diǎn)故事閱讀 40,928評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡浸锨,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出版姑,到底是詐尸還是另有隱情柱搜,我是刑警寧澤,帶...
    沈念sama閱讀 36,583評(píng)論 5 351
  • 正文 年R本政府宣布剥险,位于F島的核電站聪蘸,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏表制。R本人自食惡果不足惜健爬,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,264評(píng)論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望么介。 院中可真熱鬧浑劳,春花似錦、人聲如沸夭拌。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,755評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)鸽扁。三九已至蒜绽,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間桶现,已是汗流浹背躲雅。 一陣腳步聲響...
    開封第一講書人閱讀 33,869評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人笆呆。 一個(gè)月前我還...
    沈念sama閱讀 49,378評(píng)論 3 379
  • 正文 我出身青樓整慎,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親钮科。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,937評(píng)論 2 361

推薦閱讀更多精彩內(nèi)容

  • 概要本章婆赠,會(huì)對(duì)線程的interrupt()中斷和終止方式進(jìn)行介紹绵脯。涉及到的內(nèi)容包括: interrupt()說(shuō)明 ...
    博格體閱讀 446評(píng)論 0 3
  • 3.1 線程終止簡(jiǎn)介 線程終止顧明思議,我們?cè)诰€程運(yùn)行期間休里,有時(shí)候需要在某些條件下蛆挫,讓線程停止運(yùn)行,并且目標(biāo)線程只...
    Vander1991閱讀 666評(píng)論 0 1
  • 說(shuō)到線程終止妙黍,在Thread中有stop(),destroy(),interrupt(),destroy方法JDK...
    TodoCoder閱讀 322評(píng)論 0 5
  • 本節(jié)摘要: 介紹線程中斷的原理悴侵、阻塞方法以及代碼示例 一、為什么需要中斷 有哪些場(chǎng)景我們需要中斷線程拭嫁?通常有以下幾...
    x_coder閱讀 1,191評(píng)論 0 1
  • 一場(chǎng)看似無(wú)意卻有心的相遇可免,讓我們看到了打開心扉筒繁,接納與感受一切的美好。也許即使它可能伴隨著傷害巴元,卻也無(wú)法掩蓋其中的...
    櫻花_adfb閱讀 197評(píng)論 0 0