国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

線程的四個屬性

這篇具有很好參考價值的文章主要介紹了線程的四個屬性。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

線程的四個屬性

如上圖所示,線程有四個屬性:

  • 線程ID
  • 線程名稱
  • 守護線程
  • 線程優(yōu)先級

1. 線程ID

  • 每個線程都有id,這個id不能修改

  • 線程id會不停的自增,從1開始

  • main函數(shù)就是第一個線程,id=1

id 是操作系統(tǒng)用來識別各個線程的編號,具有唯一性,從下面 java 的源碼中看到,這個線程的Id初始值是0,但是每一次生成Id的時候都是先自增的(++threadSeqNumber),所以起始值實際是1。

線程的四個屬性

測試代碼:

/******
 * 線程Id從1開始,JVM運行起來后,自己創(chuàng)建的線程的Id早已不是0
 */
public class Id {
    public static void main(String[] args) {
        Thread thread = new Thread();
        System.out.println("主線程Id:"+Thread.currentThread().getId());
        System.out.println("子線程Id:"+thread.getId());
    }
}

打印結(jié)果:

線程的四個屬性

以上看到主線程的id為1,可以理解,那么為什么我們創(chuàng)建的子線程id就直接為12了???

我們打斷點調(diào)試發(fā)現(xiàn),在我們的子線程創(chuàng)建之前,JVM其實已經(jīng)為我們創(chuàng)建了許多線程

線程的四個屬性

  • Signal Dispatcher是把操作系統(tǒng)的信號發(fā)給我們適當?shù)某绦虻摹?/li>
  • Reference Handler是和GC相關(guān)的引用線程。
  • Finalizer是負責(zé)執(zhí)行Finalizer對象的方法。

2. 線程名字

(1) 默認線程名的源碼分析

  • 有參構(gòu)造器,指定線程名

線程的四個屬性

  • 無參構(gòu)造器,默認為Thread- ,后接 nextThreadNum ,這個數(shù)字為0開始,自增

線程的四個屬性

線程的四個屬性

(2) 手動設(shè)置線程名字 setName()

線程的四個屬性

從上圖中 java 的源碼可以看到,this.name = name 是修改 java 層面的線程的名字,然后 setNativeName() 是native方法(C/C++層面給線程的名字做一個設(shè)置),但當線程啟動之后,這個C/C++層面的名字不能修改了;不過 Java 層面的線程名字還是可以修改的。為什么當線程起來之后C/C++層面不能修改,是因為他做了一個!=0(線程的狀態(tài))的判斷,為0時就是線程 new 出來后還沒有 start。

3. 守護線程

線程類型有兩種:守護線程、用戶線程

守護線程的作用: 給用戶線程提供服務(wù)。

用戶線程和守護線程分類的標準:這個線程是否會阻止 JVM 的退出。當還有用戶線程在執(zhí)行的時候JVM是不會停止的,如果當前只剩下了守護線程,那么守護線程會隨著JVM一起停止。

線程類型的特性:

  • 線程類型默認繼承自父線程
  • 通常而言,所有的守護線程都是由 JVM 啟動。在 JVM 啟動的時候有一個非守護線程,那就是main函數(shù)。
  • 守護線程不影響 JVM退出,當 JVM 退出的時候,他只看有沒有用戶線程。

守護線程和用戶線程區(qū)別

  • 整體上沒有區(qū)別(只是代碼的任務(wù)不一樣)
  • 唯一區(qū)別在于是否影響 JVM 的退出(如果是用戶線程會影響JVM的退出,守護線程則不會)

4. 線程優(yōu)先級

Q:線程的優(yōu)先級是什么?

A:在操作系統(tǒng)中,線程可以劃分優(yōu)先級,線程優(yōu)先級越高,獲得 CPU 時間片的概率就越大,但線程優(yōu)先級的高低與線程的執(zhí)行順序并沒有必然聯(lián)系,優(yōu)先級低的線程也有可能比優(yōu)先級高的線程先執(zhí)行。

優(yōu)先級有10個級別,默認5,在Java源碼中有三個定義,最低,默認,最高的優(yōu)先級定義,如下圖。

線程的四個屬性

線程雖然有優(yōu)先級這個設(shè)定,但是實際開發(fā)中盡量不要設(shè)置優(yōu)先級,即對程序的設(shè)計不應(yīng)該依賴于優(yōu)先級,主要原因如下:

  • 不同的操作系統(tǒng)優(yōu)先級不同

    • window中只有7個優(yōu)先級,java 程序運行在 windows 系統(tǒng)時,會進行優(yōu)先級映射時,就可能會有多個優(yōu)先級映射成一個優(yōu)先級

    • linux中所有線程優(yōu)先級會被忽略,所有線程優(yōu)先級一致

  • 優(yōu)先級可能會被操作系統(tǒng)修改,即優(yōu)先級高的程序不一定被優(yōu)先執(zhí)行

5. 總結(jié)

線程的四個屬性

文章來源:https://mp.weixin.qq.com/s?__biz=MzU3NDgyMTIxMw==&mid=2247484552&idx=2&sn=9667c58b85d0cc52a30d27beec36087d&chksm=fd2dc2baca5a4bac168dccfd70d55e39db7203b0ef60a53e2e0ff9fd3f8bba7b9558e7d322f7#rd文章來源地址http://www.zghlxwxcb.cn/news/detail-469441.html

個人微信:CaiBaoDeCai

微信公眾號名稱:Java知者

微信公眾號 ID: JavaZhiZhe

謝謝關(guān)注!

到了這里,關(guān)于線程的四個屬性的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 從大數(shù)據(jù)的四個V了解它

    從大數(shù)據(jù)的四個V了解它

    我們一起創(chuàng)造了比以往更多的數(shù)據(jù)。想想看,除了工作之外,你在日常生活中創(chuàng)造了多少數(shù)據(jù)!例如,社交媒體上瀏覽的信息,Spotify上的音樂列表。將這些數(shù)據(jù)與來自世界各地其他人和組織的所有數(shù)據(jù)結(jié)合起來,你會感到頭暈。我們的行為,無論是線上還是線下,都會產(chǎn)生數(shù)

    2024年02月04日
    瀏覽(22)
  • 【Go】常見的四個內(nèi)存泄漏問題

    1、這里更多的是由于channel+for+select導(dǎo)致的,錯誤的寫法導(dǎo)致了發(fā)送者或接收者沒有發(fā)現(xiàn)channel已經(jīng)關(guān)閉,任務(wù)已經(jīng)結(jié)束了,卻仍然在嘗試輸入輸出https://geektutu.com/post/hpg-exit-goroutine.html 不要把map用作全局

    2024年02月13日
    瀏覽(28)
  • 用wireshark流量分析的四個案例

    用wireshark流量分析的四個案例

    目錄 第一題 1 2 3 4 第二題 1 2 3. 第三題 1 2 第四題 1 2 3 題目: 1.黑客攻擊的第一個受害主機的網(wǎng)卡IP地址 2.黑客對URL的哪一個參數(shù)實施了SQL注入 3.第一個受害主機網(wǎng)站數(shù)據(jù)庫的表前綴(加上下劃線例如abc ) 4.第一個受害主機網(wǎng)站數(shù)據(jù)庫的名字 打開流量包,直接篩選http || tls找

    2024年02月10日
    瀏覽(27)
  • 詳解數(shù)字化轉(zhuǎn)型的四個層級

    數(shù)字化轉(zhuǎn)型是指組織利用數(shù)字技術(shù)來改變其業(yè)務(wù)模式、流程和文化,以提高效率、增強競爭力和創(chuàng)造更好的客戶體驗。數(shù)字化轉(zhuǎn)型是一個復(fù)雜的過程,涉及組織的多個方面。在這個過程中,有四個主要的層級需要被理解和管理。本文將詳細介紹數(shù)字化轉(zhuǎn)型的四個層級,以及每

    2024年02月01日
    瀏覽(18)
  • 大模型時代下做科研的四個思路

    大模型時代下做科研的四個思路

    背景 在模型越來越大的時代背景下,如何利用有限的資源做出一些科研工作。 四個方向 1、Efficient(PEFT) 提升訓(xùn)練效率,這里以PEFT(parameter efficient fine tuning)為例 2、Existing stuff(pretrained model)、New directions 使用別人的預(yù)訓(xùn)練模型,新的研究方向 3、plug-and-play 做一些即插即用的模

    2024年02月01日
    瀏覽(22)
  • 程序員避免項目延期的四個小竅門!

    程序員避免項目延期的四個小竅門!

    原創(chuàng):陶朱公Boy(微信公眾號ID:taozhugongboy),歡迎分享,轉(zhuǎn)載請保留出處。 點評: 身為程序員的你,不知道在你身上曾經(jīng)有沒有發(fā)生過,因為種種原因,導(dǎo)致項目延期的情況?(約定某個時間點上線,結(jié)果拖到幾天時間后)這里面我相信肯定有一些客觀因素存在:比如就

    2024年02月08日
    瀏覽(25)
  • 矩陣相似的四個必要條件及性質(zhì)證明。

    矩陣相似的四個必要條件及性質(zhì)證明。

    1.四個必要條件 2.嚴格證明 必要1 秩相等 必要2 行列式相等 必要3 特征值相等 必要4 跡相等 1.矩陣相似性質(zhì) 2.嚴格證明 性質(zhì)1 次冪相似,多項式相似 性質(zhì)2 可逆相似,可逆的多項式相似 性質(zhì)3 轉(zhuǎn)置相似 性質(zhì)4 伴隨相似

    2024年02月15日
    瀏覽(20)
  • NX二次開發(fā)獲取圓弧的四個象限點

    NX二次開發(fā)獲取圓弧的四個象限點

    ?我是用來用來畫水路線框的UF_MODL_ask_curve_points()可以按弧長或者弧度獲取曲線的等分點,取PI/2的圓弧,即將圓弧四等分,你也可以取任意等分點。

    2024年01月21日
    瀏覽(20)
  • 虛擬數(shù)字人全面落地的四個挑戰(zhàn):技術(shù)、產(chǎn)品、市場、法律

    虛擬數(shù)字人全面落地的四個挑戰(zhàn):技術(shù)、產(chǎn)品、市場、法律

    近兩年,虛擬數(shù)字人隨著元宇宙的風(fēng)潮得到了許多人的關(guān)注。在國內(nèi),虛擬數(shù)字人在一些領(lǐng)域開始應(yīng)用,例如直播帶貨、客服等。雖然虛擬數(shù)字人看起來有很好的前景,但實際上虛擬數(shù)字人要想得到全面的落實,仍然還有很長的一段路需要走,有一些挑戰(zhàn)需要去克服。 首先是

    2023年04月10日
    瀏覽(23)
  • 在 Linux 中把用戶添加到組的四個方法

    Linux 組是用于管理 Linux 中用戶帳戶的組織單位。對于 Linux 系統(tǒng)中的每一個用戶和組,它都有惟一的數(shù)字標識號。它被稱為 用戶 ID(UID)和組 ID(GID)。組的主要目的是為組的成員定義一組特權(quán)。它們都可以執(zhí)行特定的操作,但不能執(zhí)行其他操作。 Linux 中有兩種類型的默認組

    2024年04月11日
    瀏覽(20)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包