我想在Linux中设计一个计时器,但是由于一些系统限制和设计要求,我无法使用POSIX计时器API。
有人可以告诉我,除了POSIX定时器之外,Linux中还有哪些其他定时器设计机制? (timer_create,timer_settime等要避免)
提前致谢。
编辑:P.S:您提供的任何机制,请您提供一些有用的链接或示例链接
注意:我们不能使用任何第三方库(如ACE库),因为我们的代码是专有代码。
答案 0 :(得分:4)
查看我的answer。我觉得有用的其中一个定时器是Linux系统调用中提供的timerfd_create() API。当您的应用程序在事件循环上构建时,这很好地融合在一起。
答案 1 :(得分:2)
如果您正在寻找第三方,可以免费下载ACE库。他们有计时器,队列,线程等
答案 2 :(得分:0)
最简单,最便携的方法可能就是使用pthread_create
和clock_nanosleep
来实现自己的计时器。对于简单的事情,它不应该超过大约50行代码,对于具有超限计数等的完全通用API,可能需要100-150。