自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 资源 (6)
  • 收藏
  • 关注

原创 go语言顺序编程

1、变量    Go语言的变量声明方式与C和C++语言有明显的不同。对于纯粹的变量声明,Go语言引入了g

2014-10-02 10:07:18 1250

原创 Python常用内建函数集

1、Python类型操作符和内建函数总结表4.5列出了所有操作符和内建函数,其中操作符顺序是按优先级从高到低排列的。同一种灰度的操作符拥有同样的优先级。注意在operator模块中有这些(和绝大多数Python)操作符相应的同功能的函数可供使用。表4.5 标准类型操作符和内建函数操作符/函数描    述结    果a字符串

2014-10-02 08:38:19 6295 2

原创 Python内存管理

到现在为止,你已经看了bushao

2014-10-02 07:41:38 735

原创 libevent源码深度剖析十三——libevent信号处理注意点

libevent 源码深度剖析十三—— libevent 信号处理注意点前面讲到了 libevent 实现多线程的方法,然而在多线程的环境中注册信号事件,还是有一些情况需要小心处理,那就是不能在多个 libevent 实例上注册信号事件。依然冠名追加到 libevent 系列。 以 2 个线程为例,做简单的场景分析。1 首先是创建并初始化线程 1 的 libevent 实例 b

2014-10-02 00:12:46 627

原创 libevent源码深度剖析十二

libevent源码深度剖析十二——让libevent支持多线程    Libevent本身不是多线程安全的,在多核的时代,如何能充分利用CPU的能力呢,这一节来说说如何在多线程环境中使用libevent,跟源代码并没有太大的关系,纯粹是使用上的技巧。1 错误使用示例     在多核的CPU上只使用一个线程始终是对不起CPU的处理能力啊,那好吧,那就多创建几

2014-10-02 00:11:43 715

原创 libevent源码深度剖析十一

libevent源码深度剖析十一——时间管理     为了支持定时器,Libevent必须和系统时间打交道,这一部分的内容也比较简单,主要涉及到时间的加减辅助函数、时间缓存、时间校正和定时器堆的时间值调整等。下面就结合源代码来分析一下。1 初始化检测    Libevent在初始化时会检测系统时间的类型,通过调用函数detect_monotonic()完成,它通

2014-10-02 00:10:20 806

原创 libevent源码深度剖析十

libevent源码深度剖析十——支持I/O多路复用技术      Libevent的核心是事件驱动、同步非阻塞,为了达到这一目标,必须采用系统提供的I/O多路复用技术,而这些在Windows、Linux、Unix等不同平台上却各有不同,如何能提供优雅而统一的支持方式,是首要关键的问题,这其实不难,本节就来分析一下。1 统一的关键      Libevent支持

2014-10-02 00:08:01 720

原创 libevent源码深度剖析八

libevent源码深度剖析八——集成信号处理张亮      现在我们已经了解了libevent的基本框架:事件管理框架和事件主循环。上节提到了libevent中I/O事件和Signal以及Timer事件的集成,这一节将分析如何将Signal集成到事件主循环的框架中。1 集成策略——使用socket pair      前一节已经做了足够多的介绍了,基本方法就是

2014-10-02 00:07:27 726

原创 libevent源码深度剖析九

libevent源码深度剖析九——集成定时器事件     现在再来详细分析libevent中I/O事件和Timer事件的集成,与Signal相比,Timer事件的集成会直观和简单很多。Libevent对堆的调整操作做了一些优化,本节还会描述这些优化方法。1 集成到事件主循环     因为系统的I/O机制像select()和epoll_wait()都允许程序制

2014-10-02 00:07:02 653

原创 libevent源码深度剖析七

libevent源码深度剖析七——事件主循环     现在我们已经初步了解了libevent的Reactor组件——event_base和事件管理框架,接下来就是libevent事件处理的中心部分——事件主循环,根据系统提供的事件多路分发机制执行事件循环,对已注册的就绪事件,调用注册事件的回调函数来处理事件。1 阶段性的胜利    Libevent将I/O事

2014-10-02 00:06:43 818

原创 libevent源码深度剖析五

libevent源码深度剖析五——libevent的核心:事件event对事件处理流程有了高层的认识后,本节将详细介绍libevent的核心结构event,以及libevent对event的管理。1 libevent的核心-event      Libevent是基于事件驱动(event-driven)的,从名字也可以看到event是整个库的核心。event

2014-10-02 00:04:16 728

原创 libevent源码深度剖析六

libevent源码深度剖析六——初见事件处理框架 前面已经对libevent的事件处理框架和event结构体做了描述,现在是时候剖析libevent对事件的详细处理流程了,本节将分析libevent的事件处理框架event_base和libevent注册、删除事件的具体流程,可结合前一节libevent对event的管理。1 事件处理框架-event_base

2014-10-02 00:03:55 886

原创 libevent源码深度剖析四

libevent源码深度剖析四——libevent源代码文件组织1 前言详细分析源代码之前,如果能对其代码文件的基本结构有个大概的认识和分类,对于代码的分析将是大有裨益的。本节内容不多,我想并不是说它不重要!2 源代码组织结构Libevent的源代码虽然都在一层文件夹下面,但是其代码分类还是相当清晰的,主要可分为头文件、内部使用的头文件、辅助功能函数、日志、

2014-10-02 00:03:06 704

原创 libevent源码深度剖析三

libevent源码深度剖析三——libevent基本使用场景和事件流程1 前言学习源代码该从哪里入手?我觉得从程序的基本使用场景和代码的整体处理流程入手是个不错的方法,至少从个人的经验上讲,用此方法分析libevent是比较有效的。2 基本应用场景基本应用场景也是使用libevnet的基本流程,下面来考虑一个最简单的场景,使用livevent设置定

2014-10-02 00:01:03 598

原创 libevent源码深度剖析二

libevent源码深度剖析二——Reactor模式前面讲到,整个libevent本身就是一个Reactor,因此本节将专门对Reactor模式进行必要的介绍,并列出libevnet中的几个重要组件和Reactor的对应关系,在后面的章节中可能还会提到本节介绍的基本概念。1 Reactor的事件处理机制首先来回想一下普通函数调用的机制:程序调用某函数?函数执行,程序

2014-10-01 23:58:15 693

原创 libevent源码深度剖析一

libevent源码深度剖析一——序幕张亮 1 前言Libevent是一个轻量级的开源高性能网络库,使用者众多,研究者更甚,相关文章也不少。写这一系列文章的用意在于,一则分享心得;二则对libevent代码和设计思想做系统的、更深层次的分析,写出来,也可供后来者参考。附带一句:Libevent是用c语言编写的(MS大牛们都偏爱c语言哪),而且几乎是无处不

2014-10-01 23:55:06 658

原创 Python快速入门

2.1程序输出,print语句

2014-10-01 23:07:28 681

原创 Twisted 内部模型设计

Twisted是一种事件驱动的框架。这意味着,

2014-10-01 22:17:02 676

原创 windows上安装 Twisted

步骤1:下载Twistedhttp://twistedmatrix.com/trac/wiki/Downloads我下载的是(Twisted-12.3.0.win32-py2.7) 步骤2:安装Twisted点击Twisted-12.3.0.win32-py2.7直接运行即可这时候,运行IDLE,输入from twisted.internet imp

2014-10-01 22:10:42 638

原创 Linux内核架构概述

1.1内核的任务    内核是硬件与ruanjian

2014-10-01 10:14:54 1062

jdk-8u111-linux-x64.zip

jdk-8u111-linux-x64.tar.gz.

2019-06-10

mysql-5.6.26.7z

mysql-5.6.26.tar.gz 下载下载.

2019-06-09

TCP-IP详解卷1

这本书是学习TCP/IP协议的经典,是初学者学习的最好的入门资料。

2012-06-27

嵌入式WEB服务器及远程测控应用详解

重点描述了在嵌入式Linux系统上搭建Web服务器,通过Web的方式控制和检测资源。物联网。

2012-06-27

Java学习手册光盘

里面的资源很全,代码很实用。对学习Java编程的人,很实用。

2012-03-07

空空如也

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

TA关注的人

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