双11狂欢大促

盲盒赢 定制羽绒服

开启惊喜盲盒,抽取你的专属好礼

— 惊喜奖品抢先看 —

[Linux/Timer]系统休眠下,那些类型的时钟还在工作

Irricht Irricht 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
Android 4.1.1下面,一个功能需要使用到定时器
原始设计使用的是queue_delayed_work 使用的是jiffies,在系统休眠时,jiffies也停止走动了
尝试使用hrtimer,并先后尝试把类型设为CLOCK_REALTIME和CLOCK_MONOTONIC,发现都无法达到预期
查阅资料,发现kernel\include\linux\Timer.h下有如下timer类型定义:
#define CLOCK_REALTIME 0
#define CLOCK_MONOTONIC 1
#define CLOCK_PROCESS_CPUTIME_ID 2
#define CLOCK_THREAD_CPUTIME_ID 3
#define CLOCK_MONOTONIC_RAW 4
#define CLOCK_REALTIME_COARSE 5
#define CLOCK_MONOTONIC_COARSE 6
#define CLOCK_BOOTTIME 7
#define CLOCK_REALTIME_ALARM 8
#define CLOCK_BOOTTIME_ALARM 9

现在鄙人有两个问题
1.hrtimer是否可行,如果不行的发,是否有类似替代方案
2.如果可以的话,那种类型是合适的

在线等待各位大虾的回复

...全文
评论 3
收藏 已收藏
分享
返回顶部
Irricht
Linux/Unix社区 23,224 成员 74,535 内容