如何编写一个C程序来执行特定的处理器秒数?
我需要一个C程序,它将执行作为参数传入的精确CPU秒数。我需要这样一个程序来测试监控进程CPU使用情况的代码 例如:如何编写一个C程序来执行特定的处理器秒数?,c,busy-waiting,cpu-time,C,Busy Waiting,Cpu Time,我需要一个C程序,它将执行作为参数传入的精确CPU秒数。我需要这样一个程序来测试监控进程CPU使用情况的代码 例如: busywait x 应该在我的处理器上运行x秒。我想你可以在shell中键入sleep x,其中x是秒。我只在Mac上的bash上进行了测试,但我相信其他Unix也应该有同样的功能。这是我为解决我的问题而编写的C程序。它持续检查时钟周期数,直到使用了正确的处理器秒数 #include <stdio.h> #include <time.h> int m
busywait x
应该在我的处理器上运行x秒。我想你可以在shell中键入sleep x,其中x是秒。我只在Mac上的bash上进行了测试,但我相信其他Unix也应该有同样的功能。这是我为解决我的问题而编写的C程序。它持续检查时钟周期数,直到使用了正确的处理器秒数
#include <stdio.h>
#include <time.h>
int main(int argc, char * argv[])
{
clock_t start, end;
double cpu_time_used;
int wait;
sscanf(argv[1], "%d", &wait);
start = clock();
end = clock();
while (((double) (end - start)) / CLOCKS_PER_SEC < wait)
{
end = clock();
}
}
据我所知,sleep命令没有忙着等待。然而,我似乎找不到一个确切的链接来支持我的观点。睡眠?根据定义,这不是一个忙碌的等待。顺便说一句,在旧的ms dos操作系统中,睡觉可能很忙。我认为浪费CPU周期而不去做任何有价值的事情的更简单的方法是构建自己的dirtysleep程序,去消耗CPU时间:是的,我环顾了一下四周,但事实并非如此。对不起@但是睡眠和忙碌等待的主要区别是什么,我的意思是当我们使用忙碌等待而不是睡眠时