php本身不支持多线程,但apache和linux是支持的,有了lamp与lnmp这样的绝佳组合,再有了shell的鼎力相助,在php中实现多线程就不再那么困难了。
有如下的php代码,每次循环sleep 5秒。
文件 sleeep.php 代码:
接下来,就要shell上场了,调用php文件:sleep.php,代码如下:
注意:
以上代码的关键点在于,要在请求php代码的行尾加一个&符号,否则不能进行多线程的,&表示讲服务推送到后台执行。
因此,在shell的每次的循环中不必等php的代码全部执行完在请求下一个文件,而是同时进行的,即实现了多线程。
运行下shell将看到10个test.php进程在跑,可以考虑结合下linux的定时器crontab,定时请求shell脚本,即可处理一些多线程的任务,比如批量上传或下载等。
好了,有关php与shell结合实现多线程的例子,就介绍到这里了,希望对大家有所帮助。