進程與線程的聯(lián)系和區(qū)別

*進程**:程序的一次執(zhí)行,可理解為一個容器;**線程**:CPU的基本調(diào)度單位,也可理解為容器中的工作單位。

+**聯(lián)系**:一個程序至少有一個進程,一個進程至少有一個線程,線程是進程的一部分;進程可以包含多個線程來并發(fā)運行;線程利用的資源(比如內(nèi)存)是共享進程的。

+**區(qū)別**:**地址空間和其它資源不同**,進程間相互獨立,同一進程的各線程間共享;**通信不同**,進程間通信IPC(internet process connection),線程間可以直接讀寫進程數(shù)據(jù)段(如全局變量)來進行通信——需要進程同步和互斥手段的輔助,以保證數(shù)據(jù)的一致性;**調(diào)度和切換不同**,線程上下文切換比進程上下文切換要快得多。

參考鏈接:

http://www.ruanyifeng.com/blog/2013/04/processes_and_threads.html

最后編輯于
?著作權(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)容

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