- 博客(11)
- 收藏
- 关注
原创 Swoole源码学习记录(十二)——ReactorThread模块
ReactorThread这一章将分析Swoole的ReactorThread模块。虽然叫Thread,但是实际上使用的是swFactoryProcess也就是多进程模式。但是,在ReactorThread中,所有的事件监听是在线程中运行的(Rango只是简单提到了PHP不支持多线程安全,具体原因还有待请教……),比如在UDP模式下,是针对每一个监听的host开辟一个线程运行reactor
2014-09-29 12:22:37 3939 1
原创 Swoole源码学习记录(十一)——Worker,Connection
Swoole版本:1.7.5-stable本章将分析Swoole中的三个比较重要的模块,Worker,ReactorProcess和Connection。其中Worker和ReactorProcess其实是对前面三章的一个补充,在前面的章节中为了分析结果的流畅性没有针对这些模块做特定分析,在此做出补充。 Worker模块首先是Worker模块。Worker在Swoole中为核心工作
2014-09-22 13:19:22 2947
原创 Swoole源码学习记录(十)——Factory模块(下)
Swoole版本:1.7.5-stable本章将分析FactoryProcess.c中剩下的函数,这些函数用于操作worker、manager以及writer。这些函数提供了最核心的进程创建、管理等功能,是Swoole的master-worker结构的基石。 先从worker相关的函数开始(manager相关函数基本都涉及操作worker进程)。在FactoryProcess.c中一共
2014-09-17 16:51:31 2783
原创 Swoole源码学习记录(九)——Factory模块(上)
Swoole版本:1.7.5-stableFactory这个命名让我一度认为这是一个工厂模型……这个工厂实际上并不负责生产实例,而是根据类型的不同执行两项任务:Factory实现的功能是一个任务中心,一个task请求进入Factory,会进过dispatch分配、onTask处理、onFinish交付结果一系列流程;FactoryProcess用于管理manager和worker进程,也有对单
2014-09-15 12:38:45 5102
原创 Swoole源码学习记录(八)——Reactor模块-epoll
Swoole版本:1.7.5-betaReactor模块可以说是Swoole中最核心的模块之一,正是这些reactor模型为swoole提供了异步操作的基础。Swoole中根据不同的内核函数,提供了四种Reactor封装,ReactorEpoll,ReactorKqueue,ReactorPoll和ReactorSelect。同时,Swoole通过结构体swReactor封装了对于reacto
2014-09-10 11:30:36 4478 2
原创 LeetCode---5.Insertion Sort List
题目链接:https://oj.leetcode.com/problems/insertion-sort-list/解题思路:
2014-09-05 17:01:11 712
原创 LeetCode---4.Sort List
题目链接:https://oj.leetcode.com/problems/sort-list/解题思路:因为是要求
2014-09-05 17:00:20 576
原创 Swoole源码学习记录(七)——MsgQueue
Swoole版本:1.7.5-beta版本更换通知:从第七章开始,我把分析的源码版本升到了1.7.5-beta。在已经分析过的代码中存在了一些变动,但没有到会影响理解的地步,所以再次不再更新前面的章节。如果确认前面的章节有重大变更需要重新分析的,我会给出声明。 Swoole内部封装了Linux提供的msg queue用于提供消息队列的操作。消息队列的声明在swoole.h文件的360
2014-09-05 16:55:41 1930
原创 LeetCode---2.Evaluate Reverse Polish Notation
题目链接:https://oj.leetcode.com/problems/evaluate-reverse-polish-notation/解题思路:简单的后缀表达式运算,使用
2014-09-05 09:12:27 580
原创 LeetCode---1.Reverse Words in a String
题目链接:https://oj.leetcode.com/problems/reverse-words-in-a-string/解题思路:以空格为分隔符提取出每一个单词后
2014-09-05 09:12:16 765
原创 LeetCode---3.Max Points on a Line
#ifndef MAXPOINTONLINE_H_#define MAXPOINTONLINE_H_#include "header.h"#pragma onceconst double INF = 210000000;struct Point { int x; int y; Point() : x(0), y(0) {} Point(int a, int b) : x(
2014-09-05 09:04:49 785
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人