博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
架构实践 - 2. 架构设计之事件系统(独立构件风格)
阅读量:4041 次
发布时间:2019-05-24

本文共 392 字,大约阅读时间需要 1 分钟。

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时间对比,到期,就执行定时器对应函数。

 

喜欢就支持一波哦~

转载地址:http://loldi.baihongyu.com/

你可能感兴趣的文章
设计模式(8) - Composite组合模式
查看>>
设计模式(9) - Flyweight享元模式
查看>>
设计模式(10) - Facade外观模式
查看>>
设计模式(11) - Proxy代理模式
查看>>
设计模式(12) - Template模板方法模式
查看>>
设计模式(13) - Strategy策略模式
查看>>
设计模式(14) - State状态模式
查看>>
设计模式(15) - Observer观察者模式
查看>>
设计模式(18) - Command命令模式
查看>>
Fedora16/RedHat6.4下配置samba
查看>>
C++中const对象引用做为形参
查看>>
C++11使用lambda操作std::map
查看>>
VMware下Linux以NAT方式上网
查看>>
RHEL6.4编译安装gcc4.8.1
查看>>
C++11线程指南(1)--创建线程
查看>>
C++11线程指南(2)--Lambda线程实现
查看>>
C++11线程指南(3)--右值与左值
查看>>
C++11线程指南(4)--右值引用与移动语义
查看>>
C++11线程指南(5)--线程的移动语义实现
查看>>
C++11线程指南(6)--共享内存与互斥
查看>>