hoa*_*o27 5 c++ multithreading cpu-usage
我正在尝试使用多线程技术重写我的C++项目,以使其尽可能多地消耗CPU(在它仅在1核上运行之前).因此,为了测试多线程是否可以在许多内核上运行一段C++代码,我尝试在下面编写一个非常简单的测试,单线程和另一个具有多线程的版本进行比较.但是,当我在Raspberry Pi上运行它时收到的结果是,即使是通常的代码也消耗了很多CPU并运行了超过1个核心.怎么可能?我认为它应该只运行1核心,因为它是如此简单!
所以它让我困惑,因为有了这些结果,我无法证明使用多线程可以使我的代码在多个核心上运行,因为不使用它我得到相同的结果:(
#include <iostream>
#include <thread>
#include <math.h>
//#include <mutex>
using namespace std;
//mutex mtx;
int pl(int a){
return a +=35;
}
int main(int argc, char *argv\[\])
{
int num = 20;
while(1){
int ai = pl(num);
printf("result num is %d\n", ai);
}
cout << "Main: program completed" << endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)