设计模式
文章平均质量分 79
DreamFreeLancer
这个作者很懒,什么都没留下…
展开
-
“窄接口”设计与动态类型发现
烽驿2009开源实时通信平台 源码获取:svn checkout http://fy2009.googlecode.com/svn/trunk/ fy2009-read-only 一个实用大型软件系统也象生活中任何一个复杂系统一样,往往需要涵盖并有机整合来自多方面的需求,除满足功能性需求外,通常还要满足系统对可扩展性(Extensibility),可维护性(Maintainabili原创 2009-05-13 14:49:00 · 2491 阅读 · 1 评论 -
Command模式,消息驱动与模块化设计
烽驿2009开源实时通信平台 源码获取:svn checkout http://fy2009.googlecode.com/svn/trunk/ fy2009-read-only 模块化是复杂系统架构设计所应遵循的基本原则之一,其目的是降低局部复杂度,便于大团队协同开发,有利于系统诊断,维护及功能复用。其中,模块划分基于所谓“高内聚,低耦合”的原则。在C语言中,通常通过CallBack函原创 2009-06-13 14:05:00 · 3203 阅读 · 1 评论 -
可移植的线程对象
烽驿2009开源实时通信平台 源码获取:svn checkout http://fy2009.googlecode.com/svn/trunk/ fy2009-read-only 笔者在前面的博文中陆续介绍了本项目实现的若干基础服务,如:时间服务(http://blog.csdn.net/DreamFreeLancer/archive/2009/05/05/4150165.aspx, h原创 2009-08-14 22:30:00 · 3077 阅读 · 3 评论 -
高性能日志服务
烽驿2009开源实时通信平台 源码获取:svn checkout http://fy2009.googlecode.com/svn/trunk/ fy2009-read-only 笔者在博文《系统localtime性能评测》(http://blog.csdn.net/DreamFreeLancer/archive/2009/05/06/4155180.aspx)中曾提及日志对于大型服原创 2009-06-07 23:48:00 · 4552 阅读 · 0 评论 -
不加锁的线程间通信
烽驿2009开源实时通信平台 源码获取:svn checkout http://fy2009.googlecode.com/svn/trunk/ fy2009-read-only 在线程间共享内存时需要加锁应该算是多线程编程的常识了,因此,这个标题显得有些颠覆性。但请注意这里说的是共享内存,而标题说的是通信,两者并不是一回事,仔细分析,后者在内涵上应该包括前者,即通信才是目的,而原创 2009-06-01 10:28:00 · 6782 阅读 · 1 评论 -
对象流化与基于内存的流实现
烽驿2009开源实时通信平台 源码获取:svn checkout http://fy2009.googlecode.com/svn/trunk/ fy2009-read-only 将一个对象转换成字节流形式,或从这种字节流中还原出对象是通信及存储类软件中最普遍的操作之一。对该类操作的称谓则五花八门:编码/解码(Encode/Decode);序列化/反序列化(Serialize(TRUE/原创 2009-05-27 14:58:00 · 1328 阅读 · 0 评论 -
引用计数与对象生存期管理
烽驿2009开源实时通信平台 源码获取:svn checkout http://fy2009.googlecode.com/svn/trunk/ fy2009-read-only 对象生存期管理是程序设计的一项重要内容。目前流行的对象生存期管理手段主要是各类垃圾回收(GC)机制。其优点是使用简单,程序员只需负责对象创建,而不用关心对象销毁,但垃圾回收机制通常和语言本身绑定,主要用原创 2009-05-20 09:33:00 · 1269 阅读 · 0 评论 -
异步IO框架实现之EPOLL
烽驿2009开源实时通信平台 源码获取:https://fy2009.googlecode.com/svn/trunk/ fy2009 Linux2.5.44之后,主流的异步IO机制是EPOLL--尽管基于实时信号(http://blog.csdn.net/DreamFreeLancer/archive/2009/07/27/4383193.aspx)的机制仍被支持。EPOLL是一种性原创 2009-07-28 15:53:00 · 6450 阅读 · 0 评论 -
异步IO框架实现之实时信号(Real-Time Signal)
烽驿2009开源实时通信平台 源码获取:svn checkout http://fy2009.googlecode.com/svn/trunk/ fy2009-read-only Linux下可伸缩(Scalable)的异步IO机制是什么?熟悉Linux下网络编程的人可能会不加思索地回答:当然是EPOLL。没错,EPOLL是个优秀的异步IO机制(笔者将会在专门的博文中讨论它),但那是原创 2009-07-27 10:48:00 · 5713 阅读 · 1 评论 -
异步IO框架
烽驿2009开源实时通信平台 源码获取:svn checkout http://fy2009.googlecode.com/svn/trunk/ fy2009-read-only 大型通信服务器通常要处理成千上万的并发用户,如果采用同步IO方式处理用户数据收发,意味着需要为每个用户创建一个甚至两个线程(一个接收线程,一个发送线程)。 同步IO的优点是编程简单,当用户数比较少(比如几个,最原创 2009-07-26 13:17:00 · 8710 阅读 · 3 评论 -
线程池(Thread Pool)
烽驿2009开源实时通信平台 源码获取:svn checkout http://fy2009.googlecode.com/svn/trunk/ fy2009-read-only 众所周知,线程并非越多越好,理论上一个CPU(或Core)一个活动线程可获得最佳性能。线程池可根据具体硬件的情况(如CPU或Core的数量)配置一个适当的线程数,从而将系统性能调到最佳,因此在可伸缩多线程Server原创 2009-08-19 23:23:00 · 2795 阅读 · 0 评论