首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以使用setitimer配置3个以上的计时器?

是否可以使用setitimer配置3个以上的计时器?
EN

Stack Overflow用户
提问于 2012-07-02 05:41:31
回答 3查看 1.3K关注 0票数 2

如何使用setitimer配置3个以上的计时器?linux手册页上写道:“系统为每个进程提供三个时间间隔计时器,每个计时器在不同的时间域中递减。当任何计时器超时时,将向该进程发送一个信号,然后计时器(可能)重新启动”。

EN

回答 3

Stack Overflow用户

发布于 2012-07-02 05:45:53

使用itimer机制,您最多只能使用三个。请参阅timerfd_create(),以获得没有此限制的更现代的替代方案(尽管仅限于linux)。它还处理文件描述符,而不是信号,因此可以更容易地与使用select/poll实现的事件循环集成。

票数 2
EN

Stack Overflow用户

发布于 2012-07-02 05:48:18

Linux提供了timer_create (从2.6开始)来创建新的时间间隔计时器:http://www.kernel.org/doc/man-pages/online/pages/man2/timer_create.2.html

如果您发现自己使用的系统只有基本的计时器,您可以随时在用户编写的库中创建自己的计时器。

还有timerfd_create (也是Linux特有的)。

票数 2
EN

Stack Overflow用户

发布于 2012-07-02 05:48:39

在单个计时器上使用mod检查,将其抽象为多个计时器。这就是google如何在javascript中处理他们的多个定时器,我假设它在这里也可以工作。理由是它比连续运行多个计时器快数量级的

换句话说,如果你有一个计时器每5毫秒运行一次,并且你有它已经运行了多少次的计数,那么你可以mod这个计数,每10次就是一个50毫秒的计时器。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11285840

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档