2

如何使 wait_event_timeout 函数的 timeout = 1 秒?功能 :wait_event_timeout (wq,condition,timeout);

我怎样才能使超时= 1秒。

如果这样调用函数: wait_event_timeout(queue,flag!='n',30*HZ);

超时=???

4

3 回答 3

6

函数 wait_event_timeout 以 jiffies 为单位获取其超时值。使用常数HZ(每秒计时器滴答数)以 jiffies 为单位指定时间。表达式HZ相当于一秒钟。该表达式30 * HZ相当于 30 秒。

wait_event_timeout (wq,condition,HZ);
于 2012-04-10T16:42:14.203 回答
4

wait_event_timeout在 jiffies 中超时。并且HZ是 linux 中定义的标识符,表示 1 秒。所以n * HZ意味着n秒。希望现在您可以将 jiffies 时间转换为真实世界时间,例如n millisecond = n*HZ/1000

于 2012-04-10T16:50:57.813 回答
0

只是备注:考虑到 HZ 因系统而异。在我知道的大多数系统/内核上,Hz 设置为 100。因此,将其除以 1000 以获得毫秒数将始终以值 0 结束。

于 2016-11-10T09:13:47.700 回答