首頁  >  文章  >  後端開發  >  php多執行緒一種實作方法—shell

php多執行緒一種實作方法—shell

小云云
小云云原創
2017-11-10 11:04:291903瀏覽

PHP本身是不是支援多線程的,不過我們可以藉助其他的方法來實現多線程,例如 shell 服務,例如 web 伺服器,那麼要藉助shell腳本實作多線程,該如何去操作呢?

本文我們主要介紹的是了PHP+shell實作多執行緒的方法,大家可以參考一下。

這裡介紹如何借助shell腳本實作多執行緒。

先寫簡單的php程式碼,這裡為了讓腳本執行時間更長,方便看效果,先看下test.php的程式碼:

PHP程式碼:

<?php
for ($i=0;$i<10;$i++) {
  echo $i;
  sleep(10);
}
?>

在看下shell腳本的程式碼,非常簡單

#!/bin/bash
for i in 1 2 3 4 5 6 7 8 9 10
do 
  /usr/bin/php -q /var/www/html/test.php &
done

注意到在請求php程式碼的那行有一個&符號嗎,這個是關鍵,不加的話是不能進行多執行緒的,&表示講服務推送到後台執行,因此,在shell的每次的循環中不必等php的程式碼全部執行完在請求下一個文件,而是同時進行的,這樣就實現了多線程,下面運行下shell看下效果,這裡你將看到10個test.php進程再跑,再利用linux的計時器,定時請求這個shell,在處理一些需要多線程的任務,例如,批量下載時,非常好用!

總結:線程是java中一個很不錯的東西,很多朋友說在php中不可以使用PHP多線程了,其實那是錯誤的說法,本文就是介紹PHP中多線程的一個實作方法。

希望這篇文章所述對大家的php程式設計有幫助。

相關推薦:

PHP多執行緒小案例

#PHP中多執行緒的兩個實作方法

關於PHP多執行緒的處理問題


以上是php多執行緒一種實作方法—shell的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn