pthread 的定时器中断
如何使用 pthread 实现定时器中断?
How can I implement timer interrupt using pthreads?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
如何使用 pthread 实现定时器中断?
How can I implement timer interrupt using pthreads?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(3)
我在 pthread 本身中从未见过任何此类设施,但您始终可以使用 SIGALARM< /a> 处理程序,它将使用 信号量 通知线程。
编辑:
另一种方法是简单地在线程本身中使用 sleep/usleep 。
I haven't ever seen any such facility in pthread itself, but you could always just use a SIGALARM handler which would notify a thread using a semaphore.
EDIT:
Another way of doing it would to simply using sleep/usleep in the thread itself.
如何创建一个线程,并在线程函数中循环调用 usleep() ,并将所需的计时器间隔作为睡眠值,每次还调用计时器“中断”回调函数?
How about creating a thread, and in the thread function calling usleep() in a loop with your desired timer interval as the sleep value, each time also calling your timer "interrupt" callback function?
usleep 会使整个时间发生偏差。到了年底你可能会漂移很多,这就是 Linux 提供定时器的原因。
usleep will make the over all time skewed. at end of the year you would have drifted quite a bit thats why linux provides timers.