240 发简信
IP属地:青海
  • 120
    Swoole 源码分析——Server模块之Start

    Server 的启动 在 server 启动之前,swoole 首先要调用 php_swoole_register_callback 将 PHP 的回调函数注册到 serve...

  • 120
    Swoole 源码分析——Server模块之初始化

    前言 本节主要介绍 server 模块进行初始化的代码,关于初始化过程中,各个属性的意义,可以参考官方文档: SERVER 配置选项 关于初始化过程中,用于监听的 socke...

  • Swoole 源码分析——Reactor 模块之 ReactorEpoll

    Epoll 对象的创建 在 linux 中,最为高效的 reactor 机制就是 epoll。swReactor 的 object 会存储 epoll 的对象 swReact...

  • Swoole 源码分析——Reactor模块之ReactorBase

    前言 作为一个网络框架,最为核心的就是消息的接受与发送。高效的 reactor 模式一直是众多网络框架的首要选择,本节主要讲解 swoole 中的 reactor 模块。 U...

  • Swoole 源码分析——锁与信号模块

    前言 对于多进程多线程的应用程序来说,保证数据正确的同步与更新离不开锁和信号,swoole 中的锁与信号基本采用 pthread 系列函数实现。UNIX 中的锁类型有很多种:...

  • 120
    Swoole 源码分析——基础模块之HashMap

    HashMap 的数据结构 HashMap 的数据结构很简单,就是一个根节点、一个迭代器还有一个析构函数 HashMap 比较复杂的地方在于其节点 swHashMap_nod...

  • Swoole 源码分析——内存模块之swBuffer

    前言 swoole 中数据的接受与发送(例如 reactor 线程接受客户端消息、发送给客户端的消息、接受到的来自 worker 的消息、要发送给 worker 的消息等等)...

  • Swoole 源码分析——内存模块之共享内存表

    前言 swoole_table 一个基于共享内存和锁实现的超高性能,并发数据结构。用于解决多进程/多线程数据共享和同步加锁问题。 swoole_table 的数据结构 swo...

  • Swoole 源码分析——内存模块之内存池

    前言 Swoole 中为了更好的进行内存管理,减少频繁分配释放内存空间造成的损耗和内存碎片,程序设计并实现了三种不同功能的内存池:FixedPool,RingBuffer 和...

  • Swoole 源码分析——内存模块之共享内存

    前言 我们知道,由于 PHP 没有多线程模型,所以 swoole 更多的使用多进程模型,因此代码相对来说更加简洁,减少了各种线程锁的阻塞与同步,但是也带来了新的问题:数据同步...