Watchdog原理

Post on Jan 22, 2023 by Wei Lin

Watchdog概述

WatchDog工作原理——gityuan

源码路径:

/frameworks/base/services/core/java/com/android/server/Watchdog.java

Watchdog的作用

Watchdog(看门狗)是一种硬件或软件机制,用于监视计算机系统或其他电子设备的运行状态。其作用是在系统崩溃、死锁或其他异常情况下,及时重启或恢复系统的正常运行。


Android系统中,有硬件 WatchDog 用于定时检测关键硬件是否正常工作,类似地,在Framework层也有一个WatchDog线程用于定期检测关键系统服务是否发生死锁事件。WatchDog功能主要是分析系统核心服务和重要线程是否处于Blocked状态。

Watchdog线程

在Android 12之前,Watchdog是直接继承自Thread类的。

public class Watchdog extends Thread {}


在Android 12中,Watchdog类中添加了一个Thread成员,并传入run()。

private final Thread mThread;
private Watchdog() {
    mThread = new Thread(this::run, "watchdog");
    //…
}

待补充