Memory Barriers 的一些思考

August 14th, 2014 by JasonLe's Tech 1,898 views

之前由于各种原因blog停更了半个月,现在回到正常环境下。

我们都知道在多处理器环境下,我们会遇到Memory Barriers,其实说白了,就是数据的不一致性,说的更加精确点,就是cache的不一致性,因为各种architecture 不同,x86与ARM不同,在x86下,Intel与AMD又不同,所以我们要搞清cpu与cache的不同结构,之前我们知道cache分为N路组相联(N-way set associative)。在取值的时候,中间位负责区分是哪一路,在这篇文章中讲的很详细:http://www.lizhaozhong.info/archives/580

不过x86的mb。x86 CPU会自动处理store顺序,所以smp_wmb()原语什么也不做,但是load有可能乱序!

» Read more: Memory Barriers 的一些思考

混合模式的使用Demo

July 30th, 2014 by JasonLe's Tech 1,586 views

之前把主要的设计模式都学了一遍,但是在实际项目中,经常是几个模式一同使用。

我找了一个使用混合模式的场景,并用C++进行实现。

这个场景主要是使用工厂模式+策略模式+门面模式
» Read more: 混合模式的使用Demo

常用模式比较

July 28th, 2014 by JasonLe's Tech 1,529 views

创建类模式主要描述的是如何创建模式,行为类模式主要是关注管理对象的行为,比如委托什么的。

而结构类模式着重是建立一个软件结构,便于拓展。

行为类模式包括责任链模式,命令模式,解释器模式,迭代器模式,中介者模式,备忘录模式,观察者模式,状态模式,策略模式,模板方法模式,访问者模式。

结构类模式包括适配器模式,桥梁模式,组合模式,装饰模式,门面模式,享元模式和代理模式。
» Read more: 常用模式比较

行为类模式比较

July 25th, 2014 by JasonLe's Tech 1,666 views

行为类模式包括责任链模式,命令模式,解释器模式,迭代器模式,中介者模式,备忘录模式,观察者模式,状态模式,策略模式,模板方法模式,访问者模式。这些模式都是经常要使用的。 » Read more: 行为类模式比较

结构类模式比较

July 23rd, 2014 by JasonLe's Tech 1,468 views

结构类模式包括适配器模式,桥梁模式,组合模式,装饰模式,门面模式,享元模式和代理模式。

首先我们来比较一下代理模式和装饰模式。

代理模式和装饰模式其实很类似,装饰模式就是一种特殊的代理模式,两者都有相同的接口,不同点在于代理模式对于代理过程的控制,而装饰模式则是对类的功能加强和减弱。
» Read more: 结构类模式比较