線程是什么?進(jìn)程是什么?二者有什么區(qū)別和聯(lián)系?

一個程序至少有一個進(jìn)程,一個進(jìn)程至少有一個線程:

  • 進(jìn)程:一個程序的一次運(yùn)行,在執(zhí)行過程中擁有獨(dú)立的內(nèi)存單元,而多個線程共享一塊內(nèi)存

  • 線程:線程是指進(jìn)程內(nèi)的一個執(zhí)行單元。
    聯(lián)系:線程是進(jìn)程的基本組成單位

  • 區(qū)別:
    (1)調(diào)度:線程作為調(diào)度和分配的基本單位,進(jìn)程作為擁有資源的基本單位
    (2)并發(fā)性:不僅進(jìn)程之間可以并發(fā)執(zhí)行,同一個進(jìn)程的多個線程之間也可并發(fā)執(zhí)行
    (3)擁有資源:進(jìn)程是擁有資源的一個獨(dú)立單位,線程不擁有系統(tǒng)資源,但可以訪問隸屬于進(jìn)程的資源.
    (4)系統(tǒng)開銷:在創(chuàng)建或撤消進(jìn)程時,由于系統(tǒng)都要為之分配和回收資源,導(dǎo)致系統(tǒng)的開銷明顯大于創(chuàng)建或撤消線程時的開銷。

  • 舉例說明:操作系統(tǒng)有多個軟件在運(yùn)行(QQ、office、音樂等),這些都是一個個進(jìn)程,而每個進(jìn)程里又有好多線程(比如QQ,你可以同時聊天,發(fā)送文件等)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 線程是CPU獨(dú)立運(yùn)行和獨(dú)立調(diào)度的基本單位(可以理解為一個進(jìn)程中執(zhí)行的代碼片段),進(jìn)程是資源分配的基本單位(進(jìn)程是一...
    丶逐漸閱讀 663評論 0 0
  • 又來到了一個老生常談的問題,應(yīng)用層軟件開發(fā)的程序員要不要了解和深入學(xué)習(xí)操作系統(tǒng)呢? 今天就這個問題開始,來談?wù)劜?..
    tangsl閱讀 4,322評論 0 23
  • Object C中創(chuàng)建線程的方法是什么?如果在主線程中執(zhí)行代碼,方法是什么?如果想延時執(zhí)行代碼、方法又是什么? 1...
    AlanGe閱讀 1,919評論 0 17
  • 班級情況: 校區(qū):科學(xué)創(chuàng)想樂高機(jī)器人和平校區(qū) 時間:周三5:30-6:30 學(xué)員:楊春李,劉東宇 任教...
    Happy00閱讀 755評論 0 0
  • 前言 最近在為一個新項目搭建項目框架。網(wǎng)絡(luò)層在iOS項目中的地位不言而喻,一個不可或缺的部分,它負(fù)責(zé)api請求,上...
    瀟瀟瀟瀟瀟瀟瀟閱讀 4,656評論 2 21

友情鏈接更多精彩內(nèi)容