系统相关
首页 > 系统相关> > 解决Linux 定时器各进程同步问题

解决Linux 定时器各进程同步问题

作者:互联网

Linux 定时器同步问题

问题背景:系统进行电池性能测试时,未能满足24h供能。

现象:进入低功耗的系统被A进程持续唤醒。

分析:模块A使用BOOTTIME且写了wake_lock,BSP使用的BOOTTIME_ALARM,唤醒了BSP且wake_lock被占用导致系统无法立即休眠。

根本原因:定时器不同步。

解决方案

现有条件:BSP定时发出UTC时间戳,各进程可订阅,BSP会定时唤醒系统,各进程进行工作。

最后选择方案B,并选择add Class代替修改。

新建TimeA类,原Time改继承这个TimeA,对旧代码仅需要新增回调,修改原始继承。

标签:定时器,进程同步,lock,BSP,wake,Linux,进程,唤醒
来源: https://www.cnblogs.com/yan1345/p/Solution_of_synchronization_of_linux_timer_processes.htm