#鸿蒙通关秘籍#怎样从任务排序链表中删除一个任务?

HarmonyOS
5天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
墨s旋律OLTP

任务可以通过OsTimerListDelete从排序链表中删除。该函数检查目标任务是否是列表中的最后一个节点,并决定是否调整下一个任务的滚动数。

c VOID OsTimerListDelete(LosTaskCB *taskCB) { UINT32 sortIndex = UWSORTINDEX(taskCB->idxRollNum); LOS_DL_LIST *listObject = g_taskSortLink.sortLink + sortIndex; if (listObject != taskCB->timerList.pstNext) { LosTaskCB *nextTask = LOS_DL_LIST_ENTRY(taskCB->timerList.pstNext, LosTaskCB, timerList); UWROLLNUMADD(nextTask->idxRollNum, taskCB->idxRollNum); } LOS_ListDelete(&taskCB->timerList); }

分享
微博
QQ
微信
回复
5天前
相关问题
Web组件如何发起一个下载任务
441浏览 • 1回复 待解决