编写一个函数以使用 n 百分比的 CPU 使用率



我的目标是拥有一个接收 int (0-100( 并在线程上使用该 CPU 使用率的函数。因此,如果给定 17,则 CPU 使用率将为 17%。54, 54%.

我尝试编写根据输入添加/乘以不同数量的数字的函数,但它们最终总是使用相似数量的 cpu 使用率。

这是我的基本想法,但我会根据输入继续不同数量的乘法。

#include <cstdlib>
#include <iostream>
using namespace std;
int main() {
int cpu_use;
cin >> cpu_use;
int a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y,
z, aa, ba, ca, da, ea, fa, ga, ha, ia, ja, ka, la, ma, na, oa, pa, qa, ra,
sa, ta, ua, va, wa, xa, ya, za, ab, bb, cb, db, eb, fb, gb, hb, ib, jb,
kb, lb, mb, nb, ob, pb, qb, rb, sb, tb, ub, vb, wb, xb, yb, zb, ac, bc,
cc, dc, ec, fc, gc, hc, ic, jc, kc, lc, mc, nc, oc, pc, qc, rc, sc, tc,
uc, vc;
switch (cpu_use) {
case 1:
a + a;
break;
case 2:
a *a *b *b;
break;
case 3:
a *a *b *b *c *c;
break;
case 4:
a *a *b *b *c *c *d *d;
break;
}
} while (1);
return 0;
}

如果不使用外部工具,就没有明确的方法来做到这一点。一种可能的方法可能是编写一个尝试使用尽可能多的 CPU 的程序,例如此处描述的程序 - 如何从 C 程序获得 100% 的 CPU 使用率。 然后,您可以尝试将 CPU 使用率限制为所需的值。下面描述了一些方法-C++:有意限制 CPU 使用率。

这个问题很难解决,似乎超出了学习C++给予的人的范围。

最新更新