gpt4 book ai didi

multithreading - 多核和并发编程有什么区别

转载 作者:行者123 更新时间:2023-12-04 08:26:16 24 4
gpt4 key购买 nike

任何人都可以帮助我我正在做一个演示文稿,并想包括一些关于 - “多核和并发编程之间的区别”,我用谷歌搜索了一下,但没有找到很多好的描述,任何帮助表示赞赏! :)

谢谢,

埃蒙

最佳答案

并发 (同时发生或同时存在)意味着不同的代码 五月 以完全相同的周期执行。意思是事情可以可能 如果有多个处理器或具有多个内核的处理器可用并且程序制作正确,则并行发生。仅添加线程并不意味着并发执行。

我说的原因五月 可能 是当程序单独的线程需要共享 volatile /可变状态时,需要访问该状态的其他线程无法继续执行并且必须等待轮到他们访问该状态,并且事情再次开始连续发生。

通常,这是在单个程序中实现的,因为多个线程以与另一个线程相同的确切周期并发执行代码,前提是不存在上面列出的资源争用。这需要多个物理处理器或内核。其他模型运行多个可并发执行的重量级操作系统进程。

使用可变共享状态很难正确地进行并发编程。

You can write a concurrent program that runs serially on a single single core processor, but scales up to execute more things at the same time when more processors or cores, or even multiple processors with multiple cores is present.

You can also cause single threaded programs to appear concurrent on a multi-core / multi-processor system if they can operate on independent ranges of input data at the same time. Example: a single threaded 3D rendering program can on a dual core machine can run 2 separate instances the first rendering all the odd frames and the second rendering all the even frames. As long as they don't try to share any mutable resources.



多核意味着单个 CPU 具有多个处理器内核,可以并发执行线程或进程,并且通常在主流操作系统中表现为多个处理器。

It does NOT imply that programs that are single threaded gain any concurrency behaviors or benefits from the additional processor cores available.

关于multithreading - 多核和并发编程有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5372861/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com