gpt4 book ai didi

multithreading - 如果只使用一个线程,我可以轻松编写一个程序来利用英特尔的四核或 i7 芯片吗?

转载 作者:行者123 更新时间:2023-12-02 05:27:48 24 4
gpt4 key购买 nike

我想知道在我的程序中是否只有 1 个线程,我可以编写它以便四核或 i7 实际上可以利用不同的内核吗?通常当我在四核计算机上编写程序时,CPU 使用率只会达到 25% 左右,而且工作似乎在 4 个核之间分配,如任务管理器所示。 (我写的程序通常是 Ruby、Python 或 PHP,所以它们可能没有那么优化)。

更新:如果我改用 C 或 C++ 编写它会怎样,并且

for (i = 0; i < 100000000; i++) {
a = i * 2;
b = i + 1;
if (a == ... || b == ...) { ... }
}

然后对编译器使用最高级别的优化。编译器能否使乘法发生在一个内核上,而加法发生在另一个内核上,从而使 2 个内核同时工作?使用 2 个核心不是一个相当容易的优化吗?

最佳答案

没有。您需要使用线程在多个 CPU(无论是真实的还是虚拟的)上同时执行多条路径...一个线程的执行本质上绑定(bind)到一个 CPU,因为这维护了语句之间的“先于发生”关系,这是如何实现的核心程序工作。

关于multithreading - 如果只使用一个线程,我可以轻松编写一个程序来利用英特尔的四核或 i7 芯片吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/876859/

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