自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 资源 (3)
  • 收藏
  • 关注

转载 深入分析Memcached的线程接入模型---下

<br />view plaincopy to clipboardprint?<br />/*  <br /> * Processes an incoming "handle a new connection" item. This is called when  <br /> * input arrives on the libevent wakeup pipe.  <br /> */  <br />static void thread_libevent_process(int fd, short whi

2010-06-19 17:27:00 612

转载 深入分析Memcached的线程接入模型---中

<br />三,在main()函数中,初始化main_thread的event_base实例,见memcached.c<br />view plaincopy to clipboardprint?<br />//定义main_thread的event_base实例   <br />static struct event_base *main_base;   <br />  <br />//下面代码略   <br />…   <br />  <br />/* initialize main thread li

2010-06-19 17:26:00 549

转载 深入分析Memcached的线程接入模型---上

memcached是一个分布式的内存cache系统,目前被大量地运用于各种各样的站点中,以不断提高站点的总体访问性能,而另外一方面,memcached的使用是非常简单的,可以说,使用门槛很低,这也许是造成memcached目前非常流行的原因之一。我们可以看到,网上分析memcached的文章也比较多,本文是笔者结合memcached源代码的基础上对其线程接入模型进行深入的分析,通过学习和借鉴memcached设计和实现上 的一些思想,为我们的系统架构设计增添新的思路。简单的说,memcached的实现并没有

2010-06-19 17:25:00 715

原创 使用 getopt() 进行命令行处理

所有 UNIX® 程序甚至那些具有图形用户界面(graphical user interface,GUI)的程序,都能接受和处理命令行选项。对于某些程序,这是与其他程序或用户进行交互的主要手段。具有可靠的复杂命令行参数处理机制,会使得您的应用程序更好、更有用。不过很多开发人员都将其宝贵的时间花在了编写自己的命令行解析器,却不使用 getopt(),而后者是一个专门设计来减轻命令行处理负担的库函数。请阅读本文,以了解如何让 getopt() 在全局结构中记录命令参数,以便随后随时在整个程序中使用。<br />

2010-06-17 15:58:00 571

原创 libevent学习总结

<br />对libevent进行一下简要的总结,libevent将socket、信号事件、定时器进行统一管理;<br />Libevent首先会检查操作支持那种类型的多路复用函数,检查顺序为:evport、kqueue、epoll、devpoll、poll、select。<br /> <br />主要研究了一下libevent 对socket的管理,信号事件处理和定时器处理粗略看过(本文主要以epoll多路复用方式下的情况进行了简要的总结)。<br />在libevent中,所有数据结构的跟为:struc

2010-06-16 22:53:00 3622 1

原创 epoll精髓

<br />在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。<br />相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且,在linux/posix_types.h头文件有这样的声明:<br />#define __FD_SETSIZE    1024<br />表示select最多同时监听1024

2010-06-11 14:10:00 747

转载 判断链表是否存在环并找出环的入口

<br />有一个单链表,其中可能有一个环,也就是某个节点的next指向的是链表中在它之前的节点,这样在链表的尾部形成一环。<br />问题:<br />1、如何判断一个链表是不是这类链表? <br />如果链表为存在环,如果找到环的入口点? <br />解答:<br />一、判断链表是否存在环,办法为:<br />设置两个指针(fast, slow),初始值都指向头,slow每次前进一步,fast每次前进二步,如果链表存在环,则fast必定先进入环,而slow后进入环,两个指针必定相遇。(当然,fast先

2010-06-08 11:35:00 859

select nfds为负数情况下的,测试用例

select nfds为负数情况下的,测试用例 是在项目开发过程中,一把鼻涕一把泪总结出来的。希望对大家有用恩。

2010-03-30

矢量图形系统开发与编程_0

陈建春的书,就不用多说了,是介绍GIS开发的好书!!!

2008-08-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除