永远不要终止cpu绑定的c程序

时间:2010-08-08 00:25:53

标签: cpu-usage

你知道有两种进程,i / o bound和cpu bound ...

我需要一个永远不会终止的cpu绑定程序......

例如

;是不是我想要的?

while(1){

    for(int i=0;i<1000; i++);

}

4 个答案:

答案 0 :(得分:3)

for(;;);应该这样做!

答案 1 :(得分:2)

首先,为什么你想要一个永不终止的CPU绑定程序?

是的,那会有效,但你真的不需要内部for循环。 while循环将永远运行(假设编译器没有优化它)。

答案 2 :(得分:0)

不仅有两种流程。即使您考虑哪种资源限制了性能,也有两种以上。其他经典的是带宽,内存,数据库连接 - 任何有限资源或阻塞都可能成为瓶颈。

但是,是的,您的进程受CPU限制 - 您可以通过查看任务管理器(Windows)或活动监视器(Mac)或顶部(Linux)看到它占用100%的CPU。 / p>

答案 3 :(得分:0)

这些程序可能不受CPU限制。

我建议实施Eratosthenes的Sieve,或类似的东西。如果一个程序采用一个数字(比如42),将它除以Pi 1000倍,将它乘以Pi 1000倍,从原始数字中减去结果,将其添加到变量并递增计数器。然后无限期地重复。我想你可能会溢出其中一个数值,但这应该是可修复/可预防的。