當前位置:秒知幫 >

生活圈 >生活 >

執行緒和程序的區別 執行緒和程序如何區分

執行緒和程序的區別 執行緒和程序如何區分

大學課程中,尤其是計算機專業,一定會接觸到“執行緒”“程序”這兩個名詞。但是,很多小夥伴在學習之後還是不太懂什麼是執行緒,什麼是程序,以及執行緒和程序的區別。今天,就和小編一起來了解一下這二者的區別吧!

執行緒和程序的區別 執行緒和程序如何區分

執行緒和程序的區別

1、開銷不同:每個程序都有獨立的程式碼和資料空間(程式上下文),程式之間的切換會有較大的開銷;執行緒可以看做輕量級的程序,每個執行緒都有自己獨立的執行棧和程式計數器(PC),執行緒之間切換的開銷小。

2、所處環境不同:在作業系統中能同時執行多個程序(程式),而在同一個程序(程式)中有多個執行緒同時執行(通過CPU排程,在每個時間片中只有一個執行緒執行)。

執行緒和程序的區別 執行緒和程序如何區分 第2張

3、記憶體分配不同:系統在執行的時候會為每個程序分配不同的記憶體空間。對執行緒而言,除了CPU外,系統不會為執行緒分配記憶體(執行緒所使用的資源來自其所屬程序的資源),執行緒組之間只能共享資源。

4、包含關係不同:沒有執行緒的程序可以看做是單執行緒的,如果一個程序內有多個執行緒,則執行過程不是一條線的,而是多條線(執行緒)共同完成的;執行緒是程序的一部分。所以,執行緒也被稱為輕權程序或者輕量級程序。

執行緒和程序的根本區別在於程序是作業系統資源分配的基本單位,而執行緒是任務排程和執行的基本單位。

  • 文章版權屬於文章作者所有,轉載請註明 https://miaozhibang.com/shenghuoquan/shenghuo/k0lmk.html