定期执行具有有限CPU时间的pthread

时间:2013-05-23 17:40:04

标签: c++ linux pthreads real-time

我在Linux上,用pthreads做C ++,一切都在SCHED_RR上。到目前为止,一切似乎都很好。现在我有一个执行永无止境计算的线程,让我们说它不断更新某个状态。我希望它执行,让我们说每10毫秒不超过1毫秒。甚至可以这样做吗?

1 个答案:

答案 0 :(得分:0)

是的。那个帖子可以:

  1. 使用合适的信号处理程序设置和报警1ms因此
  2. 开始工作
  3. 当警报响起时,信号处理程序将条件设置为 让计算停止
  4. 处理程序返回后计算继续,但会在观察到已设置停止条件时立即停止
  5. 睡了9毫秒。
  6. 或者(更容易)你可以将线程的优先级设置得更低。这将导致操作系统仅在没有更重要的事情发生时安排计算线程。唯一的难点在于确定大优先级值或小优先级值是否意味着更重要或更不重要......