1、概要设计
设计2个线程,main_loop线程,和main_handler线程。main_loop线程负责流程控制,main_handler线程负责运算处理。系统通过发送event事件,来触发函数处理。event事件依靠队列,实现串行处理。串行处理能有效降低系统的难度,避免并行处理带来的线程等待、临界条件等处理。
2、详细设计
3、模块实现
3.1. queue模块
处理event事件触发,main_loop线程将要处理的event事件,放入队列中。main_handler线程,从队列中取出event事件,并解析event,调用对应的event处理函数。
3.2 timer模块:
处理定时器任务,main_loop线程将系统时间+等待时间,放入list中。main_handler线程,不断去查询系统时间和list时间对比,到期,就执行定时器对应函数。
喜欢就支持一波哦~