自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ldy3243942的专栏

公共:博主最近忙于毕业设计,暂无时间继续更新Blog

  • 博客(6)
  • 收藏
  • 关注

原创 Swoole源码学习记录(六)——Pipe管道

Swoole版本:1.7.4-stable Pipe(管道)用于进程之间的数据交互,Linux系统本身提供了pipe函数用于创建一个半双工通信管道,而在swoole中也利用eventfd和unix sock封装了两种管道,使得进程间的通信更加灵活。 Swoole提供了一个基本结构体swPipe用于操作不同类型的Pipe,其声明在swoole.h文件的315 – 326 行,声明如下: t

2014-08-26 15:23:09 2953

原创 Swoole源码学习记录(五)——锁和信号(二)

Swoole版本:1.7.4-stable 二.Mutex互斥锁 接下来是Mutex(互斥锁)。Swoole的Mutex实现是基于pthread_mutex*方法族实现的,Rango用一个swMutex结构体封装了mutex的两个属性,结构体定义如下: 创建一个互斥锁的函数声明在swoole.h文件的 536 行,声明如下: intswMutex_create(swLock *lo

2014-08-22 17:37:08 2218

原创 Swoole源码学习记录(四)——锁和信号(一)

Swoole版本:1.7.4-stable 写在开头的废话:原本计划是于第四章开始reactor模块的分析,但是发现reactor模块牵扯到太多的其他模块,没法一开始就直接分析reactor,只能将其延后。一番考察之后,我决定从swoole的Lock模块入手继续分析。这一块我的知识储备有很大的空缺,估计会比较吃力……   -----------------------------------

2014-08-21 17:45:06 2425

原创 Swoole源码学习记录(三)——三种MemoryPool(下)

接下来是RingBuffer。这相当于一个循环数组,每一次申请的一块内存在该数组中占据一个位置,这些内存块是可以不等长的,因此每个内存块需要有一个记录其长度的变量。这里贴出swRingBuffer_head结构体的代码: typedef struct _swRingBuffer_item { volatileuint32_t lock; volatileuint32_t leng

2014-08-20 14:31:07 1725

原创 Swoole源码学习记录(二)——三种MemoryPool(上)

Swoole中为了更好的进行内存管理,减少频繁分配释放内存空间造成的损耗和内存碎片,Rango设计并实现了三种不同功能的MemoryPool:FixedPool,RingBuffer和MemoryGlobal。 Rango声明了一个swMemoryPool结构体来表示一个内存池,该结构体在swoole.h头文件中501-507行声明,结构如下: typedef struct _swMemory

2014-08-18 16:19:37 2613

原创 Swoole源码学习记录(一)——进程间共享数据ShareMemory 和 MemoryPool

我接触PHP的时间不长,最开始只认为PHP是用来做网站开发,是一个比JSP要简单的语言。后来,因为工作需要,一位学长建议我使用Ngnix + PHP 搭建应用服务器,并建议使用现有的框架。一番搜索之下,我意外发现了Swoole http://www.swoole.com/  接下来的半年里,我一直使用Swoole扩展作为我的服务器核心。Swoole稳定而高效的性能以及优秀的架构设计使我的开发

2014-08-15 10:55:11 7822

空空如也

空空如也

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

TA关注的人

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