![](https://img-blog.csdnimg.cn/20190927151026427.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Swoole学习笔记
Swoole学习笔记
刘远山
日积月累
展开
-
PHP协程程序
协程协程与子进程(某个主程序的一部分代码)一样,协程也是一种程序组件。协程(coroutine)不是进程或线程,其执行过程更类似于子进程,或者说不带返回值的函数调用对比一个程序可以包含多个协程,对比一个进程可以包含多个线程,多个线程相对独立,有自己的上下文,切换受系统控制;协程也相对独立,有自己的上下文,但切换由自己控制,从当前协程切换到其它协程由当前协程来控制。协程的支持Lua5Python的yield关键字PHP5.5的yield关键字生成器使用迭代器(Iterator)可在内部迭原创 2022-05-29 12:43:28 · 587 阅读 · 0 评论 -
创建一个多进程程序
函数pcntl_fork 创建新进程pcntl_waitpid 等待或返回fork的子进程状态posix_getpid 返回当前进程 idposix_getppid 取得父进程 id注意pcntl_fork 调用一次,返回两个值;子进程得到的是0,父进程得到的子进程 id。查看所有正在运行的php进程ps -ef |grep php实例<?phpecho "Master process id=".posix_getpid().PHP_EOL;$pid = pcntl_原创 2021-02-12 23:51:32 · 181 阅读 · 0 评论 -
进程与多进程概念
进程进程(process)是计算机中程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统机构的基础。狭义定义:进程是正在运行的程序的实例。多进程在同一时间,同一操作系统中有两个或两个以上的程序处于运行状态。PHP的多进程PHP 提供了进程控制的扩展 PCNTL。PCNTL 实现了Unix 方式的进程创建,程序执行,信号处理以及进程终端。结合 POSIX 系列函数获得更多系统底层的能力。安装 PCNTL,shmopPHP编译选项中开启 --enable-pcn原创 2021-02-11 00:25:34 · 237 阅读 · 0 评论 -
Swoole的RPC服务与ThinkPHP框架结合实例
说明三个文件都处于同一目录下Config.php<?php$config = [];$config['User']['worker'] = '8888';$config['User']['ip'] = '127.0.0.1';$config['Order']['worker'] = '8887';$config['Order']['ip'] = '127.0.0.1';return $config;swoole_server.php<?phpclass serve原创 2021-02-10 23:41:03 · 649 阅读 · 0 评论 -
Swoole简单实现RPC原理
什么是RPCRPC全称Remote Procedure Call,中文译为远程过程调用,其实你可以把它理解为是一种架构性上的设计,或者是一种解决方案。通过RPC我们可以像调用本地方法一样调用别的机器上的方法,用户将无感服务器与服务器之间的通讯。RPC在微服务当中起到相当大的作用.swoole_server.php<?php//创建tcp服务$serv = new swoole_server('127.0.0.1', 8887);$serv->set(array('worker_nu原创 2021-02-10 19:21:31 · 548 阅读 · 3 评论 -
PHP编译安装swool扩展
编译安装swool一、说明1、操作系统:CentOS2、php安装目录:/usr/local/php3、php.ini配置文件路径:/usr/local/php/etc/php.ini二、安装1、下载swool,cd /usr/local/git clone https://gitee.com/swoole/swoole.git2、进入swoole目录cd /usr/local/swoole/3、编译swoole/usr/local/php/bin/phpize/configu原创 2021-02-09 00:41:59 · 229 阅读 · 0 评论