swoole笔记11(多进程)

什么是进程

        进程就是正在运行的程序的一个实例。将大任务划分成多个小任务

进程官方文档
代码

wait()方法回收运行完的进程

exec("php安装时的根目录","要执行文件相对于当前文件的路径")  执行一个外部脚本

终端

这里我们发现 8811(我们的http_server)被子进程8811给占用了

这里我们查看一下 process.php文件的进程号是5187

树状图形式显示进程


这里我们进行一个简单的小例子来证明进程的强大,下图中有7个url,假设我们每次curl一次都需要2s,正常来说我们需要14s,但是我们可以通过建立7个进程同时操作

    read()/write() 向管道中读/写数据

        管道:用于在进程中通信,数据只能向一个方向流动;需要双方通信时,需要建立起两个管道;只能用于父子进程或者兄弟进程之间(具有亲缘关系的进程);单独构成一种独立的文件系统:管道对于管道两端的进程而言,就是一个文件,但它不是普通的文件,它不属于某种文件系统,而是自立门户,单独构成一种文件系统,并且只存在与内存中。数据的读出和写入:一个进程向管道中写的内容被管道另一端的进程读出。写入的内容每次都添加在管道缓冲区的末尾,并且每次都是从缓冲区的头部读出数据

你可能感兴趣的:(swoole笔记11(多进程))