Redis 事件机制详解( 三 )


而 processTimeEvents 是处理时间事件的函数 , 它会遍历 aeEventLoop 的事件事件列表 , 如果时间事件到达就执行其 timeProc 函数 , 并根据函数的返回值是否等于 AE_NOMORE来决定该时间事件是否是周期性事件 , 并修改器到达时间 。
删除事件
当不在需要某个事件时 , 需要把事件删除掉 。例如: 如果fd同时监听读事件、写事件 。当不在需要监听写事件时 , 可以把该fd的写事件删除 。
【Redis 事件机制详解】aeDeleteEventLoop 函数的执行过程总结为以下几个步骤 1、根据 fd 在未就绪表中查找到事件 2、取消该 fd 对应的相应事件标识符 3、调用 aeApiFree 函数 , 内核会将epoll监听红黑树上的相应事件监听取消 。




推荐阅读