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