- 博客(3)
- 资源 (1)
- 收藏
- 关注
原创 利用nginx的事件模型开发自己的应用
Nginx拥有大名鼎鼎的事件模型,在初始化介绍后循环调用ngx_process_events_and_timers(cycle),来处理各种事件。并且其高效的时间模块,能很方便地控制各event的超时等。 这样的一套机制,不仅适用于http,mail等应用,甚至我们可以不管nginx里的网络功能,利用这套event机制,开发一个本地的小应用。这样做很好玩,也可以更好的学习nginx的事件、时间模
2014-03-27 15:25:54 758
原创 简易array内存池实现
应用场景:一个程序执行过程中,需要动态分配非常多的某struct,以构成链表或其它什么的。若每次都malloc,会极大地影响效率,可以预先分配一大片空间池,构成struct[]数组,要用时,从里面取一个。当该池全部用完时,自动分配下一个池。 这个方法比较通用,缺点是不具备回收功能。要想实现回收,可以在每个array元素中,添加next、prev,构成使用list、未使用list,可以参考ngin
2014-03-26 10:41:07 497
原创 简易的字符串内存池实现
有很多这样的应用场景:不停的产生一些字符串,并串联在一起,最后一起输出。这种场景的特点是,最终字符串的长度是不确定的。借鉴ngx_poop_t的实现,做一个简单的内存池,代码如下: typedef struct buf_list_s buf_list_t; struct buf_list_s { buf_list_t *next; /* 当一个用满时,重新申请一个,组成链表 */ buf
2014-03-25 22:27:07 686
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人