10 2012 档案

摘要:最近在进行监控平台的设计,之前一直觉得C/C++中最棘手的部分是内存的管理上,远不止new/delete、malloc/free这么简单。随着代码量的递增,程序结构复杂度的提高。各种内存方面的问题悄然滋生。而且作为平台,后期的插件扩展在所难免。长时间运行的采集平台的特性更是提出了对稳定性的高要求。不是c#、java,没有虚拟机为你管理内存,一切都要靠自己。于是想看看nginx、python、lua这些C的经典之作在内存管理这块“要地”又是如何处理的。 先来看看nginx吧,因为网上都说nginx的内存池设计的非常精巧:1、基本结构先来学习一下nginx内存池的几个主要数据结构:[见:./src 阅读全文
posted @ 2012-10-17 11:41 红心李 阅读(23278) 评论(9) 推荐(10) 编辑
摘要:IoServiceIoService是一个接口,有两种实现:IoAcceptor和IoConnector;其中IoAcceptor是针对Server端的实现,IoConnector是针对Client端的实现;IoService的职责包括:1、监听器管理2、IoHandler3、IoSession管理4、FilterChain管理5、Statistics管理IoAcceptor主要用于创建新的连接。MINA提供了多种实现,所以几乎不需要我们自己再去实现:NioSocketAcceptor:无阻塞的Socket 传输Acceptor,针对TCPNioDatagramAcceptor : 无阻塞的S 阅读全文
posted @ 2012-10-16 09:03 红心李 阅读(9523) 评论(4) 推荐(2) 编辑

点击右上角即可分享
微信分享提示