是否有任何方法允许多线程程序与这样的循环

Is there any way to allow multithreading on a program with a loop like this one?

本文关键字:循环 程序 多线程 任何 方法 是否      更新时间:2023-10-16

是否有任何方法允许多线程与这样一个循环的程序?

int a=100000,b=50,c;while(a){c=b*a+c;a--;}

Windows 7/Code::Blocks IDE with默认的mingw c++编译器/双核4线程i5 cpu

这不是编程本身的问题。

你的CPU要么有四核,要么有超线程的两核。该程序使用了100%的1个核心,在Windows任务管理器中报告为25%的使用率。

如果没有线程,你将无法"增加你的CPU使用率"。

作为题外话,你看到它"分布在四个线程之间"的原因是,如果你喜欢,操作系统正在改变它想要在哪个内核上运行程序的想法。这样的调度问题是不能改变的(也不会对单个程序产生明显的影响)