【问题标题】:Timer simulation in C? [closed]C中的定时器模拟? [关闭]
【发布时间】:2023-03-05 10:40:01
【问题描述】:

如何使用<time.h> 在预定义的时间段后开始和结束模拟?

例如:

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main()
{
   int s;
   time_t t;

   srand((unsigned) time(&t));
   s=(rand()%4)+1;
   printf("%d" s);

   return 0;
}

在随机生成变量s 之后,我想开始一个模拟,该模拟将在s 秒后结束。处理模拟次数(对于每个,生成s),并且用户终止程序。

【问题讨论】:

  • 你模拟什么?你的模拟实际上会做什么?显示一些图形?计算物理状态(例如行星的位置)?
  • 你的问题很困惑。您应该编辑您的问题,以详细解释您的模拟。
  • 可能有点粗略,但您可以只做alarm(s); 并等待... ;-)

标签: c time timer


【解决方案1】:

首先阅读time(7) 仔细(并遵循那里的所有参考资料!)。您可能希望在诸如poll(2) 之类的多路复用调用周围有一些event loop。您还应该阅读Advanced Linux Programming 以获得更广阔的视野。

您可能应该在模拟时间和经过的实时时间(和 CPU 时间)之间做出很大的区别。

当然&lt;time.h&gt; 只与获取时间相关(并显示它)。您可能需要更多(它是特定于操作系统的;我猜您使用的是 Linux)。

您可以将模拟组织为尽可能多的小步骤(在某些事件循环中)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-21
    • 1970-01-01
    • 1970-01-01
    • 2011-02-01
    • 2012-02-29
    相关资源
    最近更新 更多