以上是TaskScheduler的成员函数,interalErro是负责处理内部错误的,在里面直接掉调用abrot()返回就完了,turnOnBackgroundReadHandleing(..)和turnOffBackgroundReadHandleing是用于向后兼容的一般不会调用,里面只是调用了其他的函数而已。doEventLoop(...)是负责循环处理事件的,在这里暂且不考虑,然后除了析构函数和构造函数 里面就剩下了9个函数。分别是:
scheduleDelayedTask,unscheduleDelayedTask,rescheduleDelayedTask;
setBackgroundHandleing,disableBackgroundHandling,moveSocketHandling;
createEventTrigger,deleteEventTrigger,triggerEvent;
以上是3组函数,不难看出 这3组函数在结构上是类似的,其实再进一步观察 可以看到以上操作基本都是对 几个容器的操作,在这里我们假设在TaskScheduler的子类中有3个链表,list1,list2,list3,那么以上3组操作就是对这3个链表进行的操作:
每组中第一个操作是插入操作,
每组中第二个操作是删除操作,
每组中第三个操作是替换操作。
(第3组除外,因为第三组中第三个函数 triggerEvent从函数模式上来看,应该是对链表中的某个节点进行处理)。以上是对TaskScheduler的初步分析,后面准备结合BasicTaskScheduler进一步分析,以上函数的具体实现过程 和 TaskScheduler在整个live55中起的作用。
|