固定间隔定时服务程序流程
2017-06-02 11:50:27 0 举报
固定间隔定时服务程序流程
作者其他创作
大纲/内容
i++
遍历开始
waitTime= 1;遍历启动runingList中的所有任务items
互斥锁访问:List scheduledList;
遍历结束
启动item[i]并判断是否可用
是
数据库
增
List runingList = empty;
int waitTime= 1~60(s);
LastProcessTime = Stopwatch;Stopwatch重启
List removingList = empty;
否
string TaskId;long Interval = 1/5/10/30(min);long CurrentLeft = 初始值为Interval;
固定间隔定时服务程序流程
删
item[i]放入removingList
外部接口:随时启动(新增)、停止(删除)
删/改
item[i]的TaskId放入runingList;并把CurrentLeft =Interval;
程序启动
线程阻塞waitTime秒waitTime++;
runingList是否为空
long LastProcessTime = 0;上次的处理时间Stopwatch = 0;秒表,自动计时运行,重启后从0计时;
不可用
获取已定时列表,计算下次启动时间,并放入scheduledList
将removingList中的项从scheduledList移除;置空removingList和runningList;遍历scheduledList所有项:
item[i].CurrentLeft-=LastProcessTime item[i].CurrentLeft是否小于0
收藏
0 条评论
下一页