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

資訊專欄INFORMATION COLUMN

java 多線程 守護線程

tianren124 / 3272人閱讀

摘要:的作用是為其他線程的運行提供便利服務(wù),守護線程最典型的應(yīng)用就是垃圾回收器我是子線程我是主線程主線程執(zhí)行完畢注意必須在之前設(shè)置,否則會跑出一個異常。你不能把正在運行的常規(guī)線程設(shè)置為守護線程。在線程中產(chǎn)生的新線程也是的。

在Java中有兩類線程:User Thread(用戶線程)、Daemon Thread(守護線程)

用戶線程是指用戶自定義創(chuàng)建的線程,主線程停止,用戶線程不會停止

只要當前JVM實例中尚存在任何一個非守護線程沒有結(jié)束,守護線程就全部工作;只有當最后一個非守護線程結(jié)束時,守護線程隨著JVM一同結(jié)束工作。Daemon的作用是為其他線程的運行提供便利服務(wù),守護線程最典型的應(yīng)用就是 GC (垃圾回收器)

public class DaemonThread {

    public static void main(String[] args) {
        Thread thread = new Thread(new Runnable() {
            @Override
            public void run() {
                while (true) {
                    try {
                        Thread.sleep(100);
                    } catch (Exception e) {
                        
                    }
                    System.out.println("我是子線程...");
                }
            }
        });
        thread.setDaemon(true);
        thread.start();
        for (int i = 0; i < 10; i++) {
            try {
                Thread.sleep(100);
            } catch (Exception e) {

            }
            System.out.println("我是主線程");
        }
        System.out.println("主線程執(zhí)行完畢!");
    }

}

注意
(1) thread.setDaemon(true)必須在thread.start()之前設(shè)置,否則會跑出一個IllegalThreadStateException異常。你不能把正在運行的常規(guī)線程設(shè)置為守護線程。
(2) 在Daemon線程中產(chǎn)生的新線程也是Daemon的。
(3) 不要認為所有的應(yīng)用都可以分配給Daemon來進行服務(wù),比如讀寫操作或者計算邏輯

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

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

相關(guān)文章

  • 慕課網(wǎng)_《細說線程之Thread VS Runnable》學習總結(jié)

    摘要:時間年月日星期六說明本文部分內(nèi)容均來自慕課網(wǎng)。慕課網(wǎng)教學源碼無學習源碼第一章課前準備前言課程說明比較和這兩種線程創(chuàng)建的方式,需要知道和的基本創(chuàng)建方式。一旦主線程獲取到了用戶的輸入,這時候,阻塞就會解除掉,主線程繼續(xù)運行,直到結(jié)束。 時間:2017年07月08日星期六說明:本文部分內(nèi)容均來自慕課網(wǎng)。@慕課網(wǎng):http://www.imooc.com教學源碼:無學習源碼:https://g...

    netScorpion 評論0 收藏0
  • Java線程學習(一)Java線程入門

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

    Donne 評論0 收藏0
  • Java基礎(chǔ)學習——線程之停止線程守護線程

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

    _Suqin 評論0 收藏0
  • Thread源碼剖析

    摘要:現(xiàn)在已經(jīng)沒有強制線程終止的方法了由于方法可以讓一個線程終止掉另一個線程被終止的線程會立即釋放鎖,這可能會讓對象處于不一致的狀態(tài)。 前言 昨天已經(jīng)寫了: 多線程三分鐘就可以入個門了! 如果沒看的同學建議先去閱讀一遍哦~ 在寫文章之前通讀了一遍《Java 核心技術(shù) 卷一》的并發(fā)章節(jié)和《Java并發(fā)編程實戰(zhàn)》前面的部分,回顧了一下以前寫過的筆記。從今天開始進入多線程的知識點咯~ 我其實也是相...

    HtmlCssJs 評論0 收藏0
  • @Java | Thread & synchronized - [ 線程 理論知識]

    摘要:死亡線程方法執(zhí)行結(jié)束,或者因異常退出了方法,則該線程結(jié)束生命周期。死亡的線程不可再次復生。直到當前的線程放棄此對象上的鎖定,才能繼續(xù)執(zhí)行被喚醒的線程。枚舉程序中的線程。強迫一個線程等待。通知一個線程繼續(xù)運行。 一. 線程狀態(tài)轉(zhuǎn)換圖 showImg(https://segmentfault.com/img/bV38ef?w=968&h=680); 線程間的狀態(tài)轉(zhuǎn)換說明: 新建(new)...

    harryhappy 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<