Server 的啟動 在 server 啟動之前,swoole 首先要調用 php_swoole_register_callback 將 PHP 的回調函數(shù)注冊到 serve...
Server 的啟動 在 server 啟動之前,swoole 首先要調用 php_swoole_register_callback 將 PHP 的回調函數(shù)注冊到 serve...
前言 本節(jié)主要介紹 server 模塊進行初始化的代碼,關于初始化過程中,各個屬性的意義,可以參考官方文檔: SERVER 配置選項 關于初始化過程中,用于監(jiān)聽的 socke...
Epoll 對象的創(chuàng)建 在 linux 中,最為高效的 reactor 機制就是 epoll。swReactor 的 object 會存儲 epoll 的對象 swReact...
前言 作為一個網絡框架,最為核心的就是消息的接受與發(fā)送。高效的 reactor 模式一直是眾多網絡框架的首要選擇,本節(jié)主要講解 swoole 中的 reactor 模塊。 U...
前言 對于多進程多線程的應用程序來說,保證數(shù)據正確的同步與更新離不開鎖和信號,swoole 中的鎖與信號基本采用 pthread 系列函數(shù)實現(xiàn)。UNIX 中的鎖類型有很多種:...
HashMap 的數(shù)據結構 HashMap 的數(shù)據結構很簡單,就是一個根節(jié)點、一個迭代器還有一個析構函數(shù) HashMap 比較復雜的地方在于其節(jié)點 swHashMap_nod...
前言 swoole 中數(shù)據的接受與發(fā)送(例如 reactor 線程接受客戶端消息、發(fā)送給客戶端的消息、接受到的來自 worker 的消息、要發(fā)送給 worker 的消息等等)...
前言 swoole_table 一個基于共享內存和鎖實現(xiàn)的超高性能,并發(fā)數(shù)據結構。用于解決多進程/多線程數(shù)據共享和同步加鎖問題。 swoole_table 的數(shù)據結構 swo...
前言 Swoole 中為了更好的進行內存管理,減少頻繁分配釋放內存空間造成的損耗和內存碎片,程序設計并實現(xiàn)了三種不同功能的內存池:FixedPool,RingBuffer 和...
前言 我們知道,由于 PHP 沒有多線程模型,所以 swoole 更多的使用多進程模型,因此代碼相對來說更加簡潔,減少了各種線程鎖的阻塞與同步,但是也帶來了新的問題:數(shù)據同步...