经常看英文文献的同学会发现计算机里面有两个非常容易混淆的词汇:concurrency和parallelism
首先看看中文翻译:concurrency指并行(同时运行),parallelism指并发(同时发生)。
那么两者有什么区别呢,可以说这两个概念完全是两个不同的概念,并发(concurrency)指宏观上看起来两个程序在同时运行,比如说在单核cpu上的多任务。但是从微观上看两个程序的指令是交织着运行的,你的指令之间穿插着我的指令,我的指令之间穿插着你的,在单个周期内只运行了一个指令。这种并发并不能提高计算机的性能,只能提高效率。而并行(parallelism)指严格物理意义上的同时运行,比如多核cpu,两个程序分别运行在两个核上,两者之间互不影响,单个周期内每个程序都运行了自己的指令,也就是运行了两条指令。这样说来并行的确提高了计算机的效率。所以现在的cpu都是往多核方面发展。
本文深入解析了计算机中并发(concurrency)与并行(parallelism)两个概念的区别,阐述了并发并不提高计算机性能,仅提高效率;而并行则通过物理意义上同时运行多个程序来显著提升效率。文章进一步解释了现代CPU为何倾向于多核发展,旨在提升并行处理能力。
和并行(parallelism)的区别&spm=1001.2101.3001.5002&articleId=11541929&d=1&t=3&u=7775f5c5a1e44ea0a4a4f3e4dfa149fd)
1212

被折叠的 条评论
为什么被折叠?



