【发布时间】:2014-02-19 17:00:39
【问题描述】:
我有一个进程在做某事,需要在 1 毫秒后重复。如何在linux上设置进程的周期?
我在 Intel i7 -2600 CPU(共 8 个内核)@ 3.40 Ghz 上使用 linux 3.2.0-4-rt-amd64(带有 RT-Preempt 补丁)。 基本上我在代码中显示的while循环中有大约6个线程,我希望线程每1毫秒执行一次。最后我想测量每个线程的延迟。
那么如何设置周期 1ms 呢?
例如在下面的代码中,我怎样才能在每 1ms 后重复 Task1 ?
while(1){
//Task1(having threads)
}
谢谢。
【问题讨论】:
-
你考虑过使用 crontab 吗?
-
到目前为止你研究/尝试了什么?
-
使用 sleep(),详见 man 3 sleep。
-
@EmilCondrea crontab 持续 1 毫秒?你是认真的吗?
-
@arco444:我开始了解clock_nanosleep(),taks1 可以在执行剩余时间后休眠,直到达到1ms,然后可以重复处理。但我不想让 task1 睡觉。谢谢。