欢迎来到天天文库
浏览记录
ID:30505124
大小:20.72 KB
页数:10页
时间:2018-12-30
《php多进程编程总结(推荐)》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、我真正系统地接触和学习党的基本知识是在这次中级党校的培训班上。通过学习,了解了党的发展历程,对党的性质、宗旨、任务等基本知识有了进一步的了解PHP多进程编程总结(推荐) 下面小编就为大家带来一篇PHP多进程编程总结(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。 1.准备 在动手之前,请确定你用的不是M$Windows平台(因为我没有Windows)。Linux/BSD/Unix应该都是没问题的。确认好了工作环境以后一起来看看我们需要的PHP模块是否都有。打开终端输入下面的命令: $
2、php-m 这个命令检查并打印当前PHP所有开启的扩展,看一下pcntl和posix是否在输出的列表中。 1.1.pcntl 如果找不到pcntl,八成是编译的时候没把这个扩展编译进去。如果你和我一样是编译安装的PHP,那么需要重新编译安装PHP。在配置的时候记得加上--enable-pcntl参数即可。 $cd/path/to/php_source_code_dir $./configure[someotheroptions]--enable-pcntl $make&&makeinstall
3、 1.2.posix 这货一般默认就会装上,只要你编译的时候没有加上--disable-posix。对党的认识也有了进一步的提高。才真正体会到了中国共产党的伟大、光荣和正确,更感到只有中国共产党是全中国最广大人民利益的忠实代表我真正系统地接触和学习党的基本知识是在这次中级党校的培训班上。通过学习,了解了党的发展历程,对党的性质、宗旨、任务等基本知识有了进一步的了解 2.预备知识 在继续之前,你还需要对Linux多进程有一点了解。多进程是咋回事呢?这里可跟火影忍者里的影分身稍微有点不同。首先,鸣人从小
4、长到大,比如16岁,咳。有一天他发动了影分身,分出了5个他。显然,这些分身也是16岁的鸣人而不是刚出生啥也不懂就会哭的婴儿(那叫克隆)。然后,不一样的地方来了:分身们变成了独立的人各自去做各自的事,互相之间不再知道其他分身和原身都做了什么(当然不会像动画片里一样积累经验给原身啦)。除非,他们互相之间有交流,不然,只有16岁之前的事情才是他们共同的记忆。 有同学说了,老大你这不坑爹呢么?我又没看过火影忍者!那你去看一遍好了…… 最后,预备知识完了,就是大致了解一下主进程开出来的子进程是怎么回事。子进程的代
5、码和主进程是完全一样的,还有一部分一样的东西就是直到发动影分身之前执行的所有内容。具体请参见《操作系统》课程。 3.影分身之术 所以呢,没有点基础知识怎么能理解卷轴里的内容呢?打开卷轴首先看到了一个单词:fork。 3.1.fork对党的认识也有了进一步的提高。才真正体会到了中国共产党的伟大、光荣和正确,更感到只有中国共产党是全中国最广大人民利益的忠实代表我真正系统地接触和学习党的基本知识是在这次中级党校的培训班上。通过学习,了解了党的发展历程,对党的性质、宗旨、任务等基本知识有了进一步的了解 叉子
6、?叉子是分岔的,一个变多个嘛!差不多就是这个意思。创建子进程就用这个命令。这里需要用到pcntl_fork()函数。(可以先简单看一下PHP手册关于这个函数的介绍。)创建一个PHP脚本: $pid=pcntl_fork();//一旦调用成功,事情就变得有些不同了 if($pid==-1){ die('forkfailed'); }elseif($pid==0){ }else{ } pcntl_fork()函数创建一个子进程,子进程和父进程唯一的区别就是PID(进程ID)和PPID(父进程ID
7、)不同。在终端下查看进程用ps命令(问问man看ps怎么用:manps)。当函数返回值为-1的时候,说明fork失败了。试试在if前面加一句:echo$pid.PHP_EOL;。运行你的脚本,输出可能像下面这样(结果说明子进程和父进程的代码是相同的): 67789#这个是父进程打印的 0 #这个是子进程打印的 pcntl_fork()函数调用成功后,在父进程中会返回子进程的PID,而在子进程中返回的是0。所以,下面直接用if分支来控制父进程和子进程做不同的事。对党的认识也有了进一步的提高。才真正体会到
8、了中国共产党的伟大、光荣和正确,更感到只有中国共产党是全中国最广大人民利益的忠实代表我真正系统地接触和学习党的基本知识是在这次中级党校的培训班上。通过学习,了解了党的发展历程,对党的性质、宗旨、任务等基本知识有了进一步的了解 3.2.分配任务 然后我们来说说鸣人16岁那次影分身的事儿,给原身和分身分配两个简单的输出任务: $parentPid=getmypid();//这就是传说中16岁之前的记忆 $pi
此文档下载收益归作者所有