相关的Issue

原因(目的、解决的问题等)

多个超时时间相同的定时器,超时后都放到了队列中,如果队列头的定时器回调中想删除后面的定时器,当前是删除不掉的,但是没有执行的定时器,应该都能被删除,而不区分是在链表还是队列中。

描述(做了什么,变更了什么)

利用每次创建时,软件定时器timerId都是唯一的(0~0xffffffff循环),在超时写队列时,同时记录软件定时器id,删除的时候更新软件定时器id,那么在处理软件定时器前,通过队列中记录的id获取软件定时器控制块,如果控制块的id不等于记录的id,那么说明该软件定时器被删除过,将不执行对应回调函数,表现为删除该定时器。

测试用例(新增、改动、可能影响的功能)