c - 如何编写 C 程序来执行一定数量的处理器秒数?

标签 c busy-waiting cpu-time

<分区>

我需要一个 C 程序,它可以执行作为参数传入的精确 CPU 秒数。我需要这样一个程序来测试监控进程 CPU 使用率的代码。

例子:

busywait x

应该在我的处理器上运行 x 秒。

最佳答案

这是我为解决我的问题而编写的 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();
     }
}

关于c - 如何编写 C 程序来执行一定数量的处理器秒数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16471956/

相关文章:

python-3.x - 如何使用内置 bash 'time' 在 Python 变量中捕获挂钟时间和 CPU 时间?

c++ - 将链接切割树的 C++ 实现转换为 C

c - 上采样的正确方法是什么?

c - 在 Linux 中重新传播捕获的信号

c++ - 高吞吐量非阻塞服务器设计 : Alternatives to busy wait

Python 函数之间发出信号以消除忙等待

java - 线程在某些情况下处于忙等待状态,而在其他情况下则不会

python - 这是 C++ 和 Python 之间比较 CPU 时间的有效方法吗?

c - 标准行为与 gcc 版本有关吗?

java - 如何找到CPU和IO时间?