#鸿蒙通关秘籍#如何获取任务优先级最高的节点?

HarmonyOS
5天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
编程小先锋

为了获得任务就绪队列中优先级最高的节点,使用 OsPriqueueTop() 函数,代码如下:

STATIC LOS_DL_LIST *OsPriqueueTop(VOID) { UINT32 priority;

if (g_priqueueBitmap != 0) {
    priority = CLZ(g_priqueueBitmap);
    return LOS_DL_LIST_FIRST(&g_losPriorityQueueList[priority]);
}

return (LOS_DL_LIST *)NULL;

}

首先检查位图是否为零,若不为零则通过计算高位为零的位数获取最高优先级的队列,并返回第一个节点。

分享
微博
QQ
微信
回复
5天前
相关问题
设置Task优先级方法
622浏览 • 1回复 待解决
如何获知TaskPool执行顺序、优先级
832浏览 • 0回复 待解决
HarmonyOS 主线程优先级是多少?
146浏览 • 1回复 待解决
HarmonyOS能否支持网络优先级调度?
386浏览 • 1回复 待解决
求大佬告知如何设置Task优先级
1834浏览 • 1回复 待解决
如何设置约束优先级,有人知道吗?
837浏览 • 2回复 待解决