CPU和processor的區別,進程(Process)和線程(Thread)的區別

 2023-09-30 阅读 21 评论 0

摘要:在Linux系統中,進行并行計算編程,經常會將進程(Process)和線程(Thread)混淆,下面我們以表格的形式對二者進行對比,幫助大家能更清晰的理解二者之間的區別。 Process和Thread的區別 進程(Process) 線程(Thread) (1) 系

在Linux系統中,進行并行計算編程,經常會將進程(Process)和線程(Thread)混淆,下面我們以表格的形式對二者進行對比,幫助大家能更清晰的理解二者之間的區別。

Process和Thread的區別

進程(Process)

線程(Thread)

(1) 系統(OS)分配資源和調度運行的基本單位;

(1) 進程(Process)中執行運算的基本單位;

(2) 獨立的虛擬地址和處理器調度,進程之間不可通信;

(2) 共享的內存和指令,線程之間可直接通信,但有獨立的棧和指令指針(PC)等以及獨立的執行序列;

(3) 進程是系統中的并發執行的單位;

(3) 線程是進程中的并發執行的單位;

(4) 在分布式存儲設備或共享存儲設備上執行并行計算;

(4) 僅在共享存儲設備上執行并行計算;

(5) 開銷大,復制父進程的內存等資源;

(5) 開銷小,與父進程共享 內存等資源

(6) 基于Process的并行:

? ? ?(Message Passing Interface,? MPI)

(6) 基于Thread 的并行:

? ? ?(Open Multi-Processing,? OpenMP)? ? ? ? ? ? ? ? ? ? ? ? ?

(POSIX Thread,? Pthread)

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/4/105364.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息