>백엔드 개발 >PHP 튜토리얼 >PHP와 쉘의 멀티스레딩의 간단한 예

PHP와 쉘의 멀티스레딩의 간단한 예

WBOY
WBOY원래의
2016-07-25 08:57:10850검색
  1. //for循环
  2. for ($i = 0; $i < 10; $i )
  3. {
  4. echo $i;
  5. sleep(5);
  6. }
复制代码

接下来,就要shell上场了,调用php文件:sleep.php,代码如下:

  1. #!/bin/bash
  2. #edit by bbs.it-home.org
  3. for i in 1 2 3 4 5
  4. do
  5. /usr/bin/php -r -q /data/website/sleep.php &
  6. done
复制代码

注意: 以上代码的关键点在于,要在请求php代码的行尾加一个&符号,否则不能进行多线程的,&表示讲服务推送到后台执行。 因此,在shell的每次的循环中不必等php的代码全部执行完在请求下一个文件,而是同时进行的,即实现了多线程。 运行下shell将看到10个test.php进程在跑,可以考虑结合下linux的定时器crontab,定时请求shell脚本,即可处理一些多线程的任务,比如批量上传或下载等。

好了,有关php与shell结合实现多线程的例子,就介绍到这里了,希望对大家有所帮助。



성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.