最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java中進程與線程的區(qū)別

 更新時間:2022年05月09日 10:40:08   作者:??Java中文社群????  
這篇文章主要介紹了Java進程與線程的區(qū)別,進程(Process)是操作系統(tǒng)分配資源的基本單位,線程(Thread)是操作系統(tǒng)能夠進行運算調(diào)度的基本單位,下文更多兩者區(qū)別。需要的小伙伴可以參考一下

前言:

從用戶的角度來看,進程是正在運行的程序?qū)嵗?,而線程是進程中真正執(zhí)行任務(wù)的基本單位。也就是說一個運行的程序至少包含一個進程,一個進程至少包含一個線程,線程不能獨立于進程而存在。

進程

進程(Process)是操作系統(tǒng)分配資源的基本單位,一個進程擁有的資源有自己的堆、棧、虛存空間(頁表)、文件描述符等信息。 從編程的角度來理解進程,可以把它看作是一個類或一個 PCB(Process Control Block)進程控制塊的結(jié)構(gòu)體,這個結(jié)構(gòu)體中大致包含以下幾個內(nèi)容:

  • 進程編號 PID:進程的身份標識。
  • 進程的狀態(tài):
    • 新建狀態(tài)
    • 就緒狀態(tài)
    • 運行狀態(tài)
    • 阻塞狀態(tài)
    • 銷毀狀態(tài)
  • 執(zhí)行優(yōu)先級
  • 上下文:保存本次執(zhí)行狀態(tài),以便下次繼續(xù)執(zhí)行,這個過程就是一個上下文。
  • 內(nèi)存地址

線程

線程(Thread)是操作系統(tǒng)能夠進行運算調(diào)度的基本單位。它包含在進程中,是進程中的實際運行單位。在 Unix System V 及 SunOS 中線程也被稱為輕量進程(lightweight processes),但輕量進程更多指內(nèi)核線程(kernel thread),而把用戶線程(user thread)稱為線程。

PS:用戶線程可以理解為應(yīng)用程序自己的線程,由程序員創(chuàng)建并控制的線程;而內(nèi)核線程是內(nèi)核支持并使用的線程。

線程優(yōu)勢

線程是輕量級的進程,一個進程中包含了多個線程,因此多個線程間可以共享進程資源,

線程和進程的關(guān)系如下圖所示: 

 其中,堆和方法區(qū)是可以共享的區(qū)域,而程序計數(shù)器和棧是每個線程私有的。

  • 程序計數(shù)器是一塊內(nèi)存區(qū)域,用來記錄線程當(dāng)前要執(zhí)行的指令地址。
  • 棧是用來記錄每個線程自己的局部變量的。
  • 堆中存放的是當(dāng)前程序創(chuàng)建的所有對象。
  • 方法區(qū)存放的是常量和靜態(tài)變量等信息。

進程和線程的區(qū)別

進程和線程的區(qū)別主要體現(xiàn)在以下幾點。

區(qū)別1:從屬關(guān)系不同

從屬關(guān)系不同:進程是正在運行程序的實例,進程中包含了線程,而線程中不能包含進程。

區(qū)別2:描述側(cè)重點不同

描述側(cè)重點不同:進程是操作系統(tǒng)分配資源的基本單位,而線程是操作系統(tǒng)調(diào)度的基本單位。

區(qū)別3:共享資源不同

共享資源不同:多個進程間不能共享資源,每個進程有自己的堆、棧、虛存空間(頁表)、文件描述符等信息,而線程可以共享進程資源文件(堆和方法區(qū))。

區(qū)別4:上下文切換速度不同

上下文切換速度不同:線程上下文切換速度很快(上下文切換指的是從一個線程切換到另一個線程),而進程的上下文切換的速度比較慢。

區(qū)別5:操縱者不同

操縱者不同:一般情況下進程的操縱者是操作系統(tǒng),而線程的操縱者是編程人員。

總結(jié)

進程是操作系統(tǒng)分配資源的基本單位,而線程是操作系統(tǒng)調(diào)度的基本單位。一個進程中至少包含一個線程,線程不能獨立于進程而存在。進程不能共享資源,而線程可以。線程可以看作是輕量級的進程,它們的主要區(qū)別體現(xiàn)在:從屬關(guān)系、描述側(cè)重點、共享資源、上下文切換速度和操縱對象等不同。?

到此這篇關(guān)于Java進程與線程的區(qū)別的文章就介紹到這了,更多相關(guān)Java進程與線程內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java中死鎖產(chǎn)生的原因有哪些?

    Java中死鎖產(chǎn)生的原因有哪些?

    這篇文章主要介紹了Java中死鎖產(chǎn)生的原因有哪些?死鎖即Dead?Lock指的是兩個或兩個以上的運算單元,下文關(guān)于其產(chǎn)生的原因,需要的小伙伴可以參考一下
    2022-05-05
  • java實現(xiàn)上傳圖片并壓縮圖片大小功能

    java實現(xiàn)上傳圖片并壓縮圖片大小功能

    這篇文章主要為大家詳細介紹了java實現(xiàn)上傳圖片并壓縮圖片大小功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • Java調(diào)用SQL腳本執(zhí)行常用的方法示例

    Java調(diào)用SQL腳本執(zhí)行常用的方法示例

    這篇文章主要給大家介紹了關(guān)于Java調(diào)用SQL腳本執(zhí)行常用的方法的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-04-04
  • java圖的深度優(yōu)先遍歷實現(xiàn)隨機生成迷宮

    java圖的深度優(yōu)先遍歷實現(xiàn)隨機生成迷宮

    這篇文章主要為大家詳細介紹了java圖的深度優(yōu)先遍歷實現(xiàn)隨機生成迷宮,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • 詳解如何在Java中創(chuàng)建Excel迷你圖

    詳解如何在Java中創(chuàng)建Excel迷你圖

    迷你圖是一種簡潔而有效的數(shù)據(jù)可視化方式,常用于展示趨勢和變化,通常被用于數(shù)據(jù)儀表盤、報告和展示中,以便在有限的空間內(nèi)展示多個數(shù)據(jù)集的趨勢,今天小編為大家介紹如何在Java中創(chuàng)建Excel迷你圖,需要的朋友可以參考下
    2023-10-10
  • Intellij idea下使用不同tomcat編譯maven項目的服務(wù)器路徑方法詳解

    Intellij idea下使用不同tomcat編譯maven項目的服務(wù)器路徑方法詳解

    今天小編就為大家分享一篇關(guān)于Intellij idea下使用不同tomcat編譯maven項目的服務(wù)器路徑方法詳解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-02-02
  • SpringBoot中如何統(tǒng)一接口返回與全局異常處理詳解

    SpringBoot中如何統(tǒng)一接口返回與全局異常處理詳解

    全局異常處理是個比較重要的功能,一般在項目里都會用到,這篇文章主要給大家介紹了關(guān)于SpringBoot中如何統(tǒng)一接口返回與全局異常處理的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2021-09-09
  • java實現(xiàn)將數(shù)字轉(zhuǎn)換成人民幣大寫

    java實現(xiàn)將數(shù)字轉(zhuǎn)換成人民幣大寫

    前面給大家介紹過使用javascript,php,c#,python等語言實現(xiàn)人民幣大寫格式化,這篇文章主要介紹了java實現(xiàn)將數(shù)字轉(zhuǎn)換成人民幣大寫的代碼,非常的簡單實用,分享給大家,需要的朋友可以參考下
    2015-04-04
  • 基于Java實現(xiàn)一個高效可伸縮的計算結(jié)果緩存

    基于Java實現(xiàn)一個高效可伸縮的計算結(jié)果緩存

    這篇文章將通過對一個計算結(jié)果緩存的設(shè)計迭代介紹,分析每個版本的并發(fā)缺陷,并分析如何修復(fù)這些缺陷,最終完成一個高效可伸縮的計算結(jié)果緩存,感興趣的小伙伴可以了解一下
    2023-06-06
  • 解決mybatis中resultType取出數(shù)據(jù)順序不一致的問題

    解決mybatis中resultType取出數(shù)據(jù)順序不一致的問題

    這篇文章主要介紹了解決mybatis中resultType取出數(shù)據(jù)順序不一致的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-02-02

最新評論

山西省| 定南县| 田林县| 林芝县| 定州市| 武宣县| 紫云| 万州区| 涞水县| 梁山县| 崇文区| 临颍县| 岗巴县| 内乡县| 梓潼县| 乌恰县| 遂川县| 永和县| 浦东新区| 友谊县| 齐齐哈尔市| 丹阳市| 郯城县| 镇平县| 鹰潭市| 南乐县| 博兴县| 胶州市| 永城市| 宁津县| 古田县| 定州市| 肇东市| 乌恰县| 巴塘县| 梨树县| 城市| 兴海县| 牟定县| 错那县| 安宁市|