在线不卡日本ⅴ一区v二区_精品一区二区中文字幕_天堂v在线视频_亚洲五月天婷婷中文网站

  • <menu id="lky3g"></menu>
  • <style id="lky3g"></style>
    <pre id="lky3g"><tt id="lky3g"></tt></pre>

    優(yōu)雅關(guān)閉線程實(shí)踐

    前言

    在多線程編程中會(huì)需要?jiǎng)討B(tài)創(chuàng)建線程來(lái)執(zhí)行任務(wù),在完成后釋放該線程,使用Excuotrs創(chuàng)建的線程,提供了shutDown方法進(jìn)行線程的關(guān)閉,但使用原生的Thread和Runable創(chuàng)建的線程池,其stop、destory方法都已經(jīng)被標(biāo)為Deprecate,那究竟該如何關(guān)閉線程?

    實(shí)現(xiàn)邏輯

    1、如果線程能正常執(zhí)行完,執(zhí)行結(jié)束后線程自動(dòng)關(guān)閉,無(wú)須特別處理

    2、否則需要使用一個(gè)標(biāo)記如下running來(lái)控制并跳出線程循環(huán)執(zhí)行體,完成線程的自動(dòng)關(guān)閉

    3、如果線程循環(huán)執(zhí)行體存儲(chǔ)阻塞,則在設(shè)置running變量,還需要通過(guò)interrupt中斷阻塞,使其能夠跳出線程循環(huán)執(zhí)行體,完成線程的自動(dòng)關(guān)閉。

    下面是供參考的代碼邏輯:

    public class BgpLsLinkMsgHandlerThread extends Thread { private volatile boolean running = true; @Override public void run() { while (running) { try { BgplsMsg message = queue.take(); bgpLsMsgHandler.handle(message); } catch (Exception e) { logger.error(“BgpLsLinkMsgHandlerThread handler exception.”, e); } } } public void handleMessage(BgplsMsg message) { try { queue.put(message); } catch (InterruptedException e) { logger.error(this, e); } } public int queueSize() { return queue.size(); } /** * 優(yōu)雅終止線程 */ public synchronized void termination() { this.running = false; this.interrupt(); }}

    方法termination在修改標(biāo)記變量running后,調(diào)用了中斷函數(shù)interrupt,避免程序阻塞導(dǎo)致實(shí)際上并未關(guān)閉線程。

    鄭重聲明:本文內(nèi)容及圖片均整理自互聯(lián)網(wǎng),不代表本站立場(chǎng),版權(quán)歸原作者所有,如有侵權(quán)請(qǐng)聯(lián)系管理員(admin#wlmqw.com)刪除。
    用戶投稿
    上一篇 2022年6月15日 06:21
    下一篇 2022年6月15日 06:21

    相關(guān)推薦

    • 分享4條發(fā)微商朋友圈的方法(微商朋友圈應(yīng)該怎么發(fā))

      對(duì)于微商朋友來(lái)說(shuō),朋友圈的重要性不言而喻了。 那么微商的朋友圈到底該怎么發(fā)呢? 為什么同樣是經(jīng)營(yíng)一個(gè)朋友圈,有的微商看起來(lái)逼格滿滿,實(shí)際效果也不錯(cuò);而有的卻動(dòng)都不動(dòng)就被屏蔽甚至拉黑…

      2022年11月27日
    • 存儲(chǔ)過(guò)程語(yǔ)法(sql server存儲(chǔ)過(guò)程語(yǔ)法)

      今天小編給各位分享存儲(chǔ)過(guò)程語(yǔ)法的知識(shí),其中也會(huì)對(duì)sql server存儲(chǔ)過(guò)程語(yǔ)法進(jìn)行解釋,如果能碰巧解決你現(xiàn)在面臨的問(wèn)題,別忘了關(guān)注本站,現(xiàn)在開(kāi)始吧! oracle存儲(chǔ)過(guò)程基本語(yǔ)法…

      2022年11月26日
    • 《寶可夢(mèng)朱紫》夢(mèng)特性怎么獲得?隱藏特性獲取方法推薦

      寶可夢(mèng)朱紫里有很多寶可夢(mèng)都是擁有夢(mèng)特性會(huì)變強(qiáng)的寶可夢(mèng),很多玩家不知道夢(mèng)特性怎么獲得,下面就給大家?guī)?lái)寶可夢(mèng)朱紫隱藏特性獲取方法推薦,感興趣的小伙伴一起來(lái)看看吧,希望能幫助到大家。 …

      2022年11月25日
    • 《寶可夢(mèng)朱紫》奇魯莉安怎么進(jìn)化?奇魯莉安進(jìn)化方法分享

      寶可夢(mèng)朱紫中的奇魯莉安要怎么進(jìn)化呢?很多玩家都不知道,下面就給大家?guī)?lái)寶可夢(mèng)朱紫奇魯莉安進(jìn)化方法分享,感興趣的小伙伴一起來(lái)看看吧,希望能幫助到大家。 奇魯莉安進(jìn)化方法分享 奇魯莉安…

      2022年11月25日
    • cpu性能天梯圖2022 AMD CPU天梯圖最新排行榜出爐

      用戶在DIY自己的主機(jī)時(shí)選擇CPU是非常關(guān)鍵的,CPU可以說(shuō)是電腦的大腦,大家也都想追求好一點(diǎn)的CPU來(lái)使用,但型號(hào)太多了,大部分的用戶都不知道目前哪一款CPU比較好用,快來(lái)看看詳…

      2022年11月24日
    • 今天出入濟(jì)南最新通知(出入濟(jì)南政策最新消息今天)

      近日濟(jì)南疫情感染人數(shù)也在不斷增加,劃分的高風(fēng)險(xiǎn)區(qū)也是越來(lái)越多了。據(jù)最新統(tǒng)計(jì),截止2022年11月24日11時(shí),濟(jì)南共有低風(fēng)險(xiǎn)地區(qū)12處,高風(fēng)險(xiǎn)地區(qū)338處。很多朋友都擔(dān)心現(xiàn)在濟(jì)南無(wú)…

      2022年11月24日
    • 《寶可夢(mèng)朱紫》暴飛龍?jiān)趺醋??暴飛龍獲得方法

      寶可夢(mèng)朱紫暴飛龍位置在哪?在游戲中,很多玩家還不清楚暴飛龍具體要怎么樣獲得,其實(shí)獲得方法很簡(jiǎn)單,暴飛龍直接是沒(méi)得抓的,需要玩家從寶貝龍進(jìn)化得到,下面一起來(lái)看一下寶可夢(mèng)朱紫暴飛龍獲得…

      2022年11月23日
    • 《寶可夢(mèng)朱紫》布土撥怎么進(jìn)化?布土撥進(jìn)化方法介紹

      寶可夢(mèng)朱紫中,不同的寶可夢(mèng)有不同的進(jìn)化方法,其中布土撥的進(jìn)化方法是比較特殊的。很多玩家不知道寶可夢(mèng)朱紫布土撥怎么進(jìn)化,下面就帶來(lái)寶可夢(mèng)朱紫布土撥進(jìn)化方法介紹,一起來(lái)看看吧,希望能幫…

      2022年11月23日
    • 《寶可夢(mèng)朱紫》薄荷怎么獲得?薄荷獲得方法

      寶可夢(mèng)朱紫中薄荷有改變寶可夢(mèng)的屬性或性格等效果,很多玩家想知道寶可夢(mèng)朱紫薄荷怎么獲得,下面就帶來(lái)寶可夢(mèng)朱紫薄荷獲得方法,感興趣的小伙伴一起來(lái)看看吧,希望能幫助到大家。 薄荷獲得方法…

      2022年11月23日
    • 《寶可夢(mèng)朱紫》怎么交換精靈?交換精靈方法一覽

      寶可夢(mèng)朱紫中玩家可以和好友或者npc進(jìn)行交換寶可夢(mèng)獲得自己沒(méi)有的寶可夢(mèng),很多玩家想知道寶可夢(mèng)朱紫怎么交換精靈,下面就帶來(lái)寶可夢(mèng)朱紫交換精靈方法一覽,感興趣的小伙伴不要錯(cuò)過(guò),希望能幫…

      2022年11月23日

    聯(lián)系我們

    聯(lián)系郵箱:admin#wlmqw.com
    工作時(shí)間:周一至周五,10:30-18:30,節(jié)假日休息