THREAD_BLOCK_6S HarmonyOS 鸿蒙Next

THREAD_BLOCK_6S HarmonyOS 鸿蒙Next 如何定位是哪个函数导致的线程卡死

2 回复

先看文档吧:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V1/appfreeze-guidelines-0000001580345354-V1#ZH-CN_TOPIC_0000001714627377__thread_block_6s-应用主线程序卡死超时

跟着这个文档看,先清楚几个标志名词:这几个都在日志的最前面

一般来说,进程卡死会有很多种情况。

可以有以下思路:

  1. 看看任务队列数量,如果数量过多高优先级>500,应用测修改;可以看看关键词:VIP priority,Immediate priority,High/Low/Idle priority等级越高,就越先执行。高等级的会抢占低等级资源。

  2. 看3s栈和6s栈是否一致:如果一样,大概率就是主线程有问题,看主线程的日志就行了,当然也有3s和6s做了同样的事情,这个要具体分析;如果不一样:要看看是不是自己任务队列是不是太多了,需要结合1,同时依赖Ide的泳道trace分析,一起复现,确定在哪里出现卡顿

一般来说,根据日志可以很明显的得到Pid,Tid,task,和history event信息,结合这几个,可以找到对应的方法信息,

这个卡死的问题,回答起来会很模糊,有卡顿建议带上日志来问。

更多关于THREAD_BLOCK_6S HarmonyOS 鸿蒙Next的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


THREAD_BLOCK_6S 是 HarmonyOS(鸿蒙系统)中的一种线程阻塞机制,可能与系统资源调度或任务管理相关。在鸿蒙Next中,该机制可能用于优化多线程并发执行,确保系统资源的高效利用。具体实现细节可能涉及鸿蒙内核的调度策略,开发者需参考鸿蒙官方文档进行深入理解。

回到顶部