#鸿蒙通关秘籍#如何更新任务排序链表中的滚动数?

HarmonyOS
5天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
墨舞天涯COO

任务排序链表中的滚动数更新在OsTaskScan函数中进行。位置游标递增,一旦滚动数大于0,就执行滚动数递减操作,否则表示任务到期,应从链表中删除。

c VOID OsTaskScan(VOID) { g_taskSortLink.cursor = (g_taskSortLink.cursor + 1) % OS_TSK_SORTLINK_LEN; LOS_DL_LIST *listObject = g_taskSortLink.sortLink + g_taskSortLink.cursor; if (listObject->pstNext == listObject) { return; } for (LosTaskCB *taskCB = LOS_DL_LIST_ENTRY((listObject)->pstNext, LosTaskCB, timerList); &taskCB->timerList != (listObject);) { if (UWROLLNUM(taskCB->idxRollNum) > 0) { UWROLLNUMDEC(taskCB->idxRollNum); break; } LOS_ListDelete(&taskCB->timerList); // 处理取消各种任务状态 } }

分享
微博
QQ
微信
回复
5天前
相关问题