- 博客(11)
- 资源 (62)
- 收藏
- 关注
原创 队列思考二
前面一片博客是队列的基础知识:http://blog.csdn.net/wuhenyouyuyouyu/article/details/53939109 这篇博客,就是对于队列的应用说出自己的想法,有不对的地方,希望大家批评指正。队列其实就是一个先进先出的FIFO,提供了一组维护这个FIFO的服务集合。至于队列里面放了什么东西,它并不关心。那么问题来啦?我们怎么去用这些队列提供的服务呢...
2018-02-24 10:07:20 318
原创 访问硬件的设计模式
出自《C嵌入式编程设计模式》这本是,算是给自己做的学习笔记吧。一、硬件的代理模式先来看看书上的定义:书上介绍的很详细了,我的理解就是硬件的代理模式就是基于接口的编程,程序依赖于接口,而不是依赖于具体的实现。当我们的硬件平台改变时候,只需要根据接口定义,再把底层驱动全部重写,而上层的逻辑的代码完全不需要改变,也就是接口屏蔽了硬件的具体实现细节。二、硬件适配器模式这个设计也很好理解,当我们把硬件驱动已...
2018-02-22 17:36:44 943
原创 编程学习笔记之消息地图
以上就是消息地图的介绍,主要就是提取出公共代码的部分,变化只是两端,一个地图的输入和一个地图的输出,中间过程是一样的。把输入和输出绑定在一起,封装成一个struct,这个struct的数组就是消息地图,而提取出的公共代码逻辑就是地图的引擎。这样做的好处上面也说得很清楚了,减少代码规模,使代码便于维护。...
2018-02-22 15:46:25 2278 2
转载 23种设计模式总结
出处:https://www.cnblogs.com/tongkey/p/7170826.html1.单例模式(Singleton Pattern)定义:Ensure a class has only one instance, and provide a global point of access to it.(确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例。)通用代码:(是...
2018-02-12 14:16:26 187
转载 模块的封装(四):头文件的疼
出处:https://www.amobbs.com/thread-5675247-1-1.html[交流][微知识]模块的封装(四):头文件的疼 认真说起来,头文件(Header File)是个短命的家伙——就整个编译过程来说,它的寿命是最短的。为什么这么说呢?关于头文件的话题,讨论起来那可是“孩子没娘,说来话长了”,既然是闲聊、你也不是等着这篇文章救命,那就不妨从头开始说起...
2018-02-09 09:37:49 946
转载 架构设计:生产者/消费者模式[4]:双缓冲区
架构设计:生产者/消费者模式[4]:双缓冲区文章目录★为啥要双缓冲区?★双缓冲区的原理★双缓冲区的几种状态★可能的并发问题★应用场景 “双缓冲区”是一个应用很广的手法。该手法用得最多的地方想必是屏幕绘制相关的领域(主要是为了减少屏幕闪烁)。另外,在设备驱动和工控方面,双缓冲也经常被使用。不过今天要聊的,并不是针对上述的某个具体领域,而是侧重于并发方面的同步/互斥开销。另外提醒一下,双缓...
2018-02-09 09:32:23 664
转载 架构设计:生产者/消费者模式[3]:环形缓冲区
架构设计:生产者/消费者模式[3]:环形缓冲区文章目录★环形缓冲区 vs 队列缓冲区★环形缓冲区的实现★应用场合 前一个帖子提及了队列缓冲区可能存在的性能问题及解决方法:环形缓冲区。今天就专门来描述一下这个话题。 为了防止有人给咱扣上“过度设计”的大帽子,事先声明一下:只有当存储空间的分配/释放非常【频繁】并且确实产生了【明显】的影响,你才应该考虑环形缓冲区的使用。否则的话,还是...
2018-02-09 09:31:00 846
转载 架构设计:生产者/消费者模式[2]:队列缓冲区
架构设计:生产者/消费者模式[2]:队列缓冲区文章目录★线程方式★进程方式 经过前面两个帖子的铺垫,今天终于开始聊一些具体的编程技术了。由于不同的缓冲区类型、不同的并发场景对于具体的技术实现有较大的影响。为了深入浅出、便于大伙儿理解,咱们先来介绍最传统、最常见的方式。也就是单个生产者对应单个消费者,当中用【队列】(FIFO)作缓冲。 关于并发的场景,在之前的帖子“进程还线程?是一个...
2018-02-09 09:30:27 705
转载 架构设计:生产者/消费者模式[1]:如何确定数据单元?
架构设计:生产者/消费者模式[1]:如何确定数据单元?文章目录★啥是数据单元?★数据单元的特性 既然前一个帖子已经搞过扫盲了,那接下来应该开始聊一些具体的编程技术问题了。不过在进入具体的技术细节之前,咱们先要搞明白一个问题:如何确定数据单元?只有把数据单元分析清楚,后面的技术设计才好搞。★啥是数据单元? 何谓数据单元捏?简单地说,每次生产者放到缓冲区的,就是一个数据单元;每次消费者从缓冲区取出...
2018-02-09 09:29:42 223
转载 架构设计:生产者/消费者模式[0]:概述
架构设计:生产者/消费者模式[0]:概述文章目录★简介★优点★本系列的目录 今天打算来介绍一下“生产者/消费者模式”,这玩意儿在很多开发领域都能派上用场。鉴于该模式很重要且相关内容比较丰富,俺打算分几个帖子逐一介绍。今天先来扫盲一把。如果你对这个模式已经比较了解,请跳过本帖子,直接看下一个帖子(关于如何确定数据单元)。 看到这里,可能有同学心中犯嘀咕了:在四人帮(Gang Of F...
2018-02-09 09:29:03 217
转载 架构设计:进程还是线程?是一个问题!
架构设计:进程还是线程?是一个问题!文章目录★进程【颗粒度】问题★“以业务逻辑为单元”划分进程的好处★进程间通讯(以下简称 IPC)问题★为啥还要线程? 就像莎士比亚的“To be, or not to be, that is the question”始终困扰着哈姆雷特,对于“进程还是线程?”这个问题,也经常困扰着那些进行软件架构设计的家伙。所以今天打算聊一下我对这个问题的体会。假如...
2018-02-09 09:28:14 236
340 341 OTG官方驱动包
2016-11-10
LCD12864-ST7920-PIC18F4550历程
2015-06-12
计算机图形学讲义
2015-05-14
PIC18FF4550官方HID设备程序和电路原理图
2014-12-02
基于STM32F103RET6平台PWM实现正玄波
2019-07-12
lwip v1.41 RAM TCP客户端学习资料+源码历程
2019-04-16
mdk中文资料
2017-05-13
keil4 和J-LINK一些资料
2017-04-25
J-LINK V8 固件恢复
2017-04-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人