PHP多程序簡單例項小結

2022-09-26 03:45:10 字數 647 閱讀 4192

php建立多程序需要使用到pcntl模組 在編譯時加上--enable-pcntl開啟程序控制支援,不是unix類系統不支援此模組

php官網介紹建立子程序需要使用到pcntl_fork(),文件上介紹該函式說 ,pcntl_fork — 在當前程序當前位置產生分支(子程序)。

譯註:fork是建立了乙個子程序,父程序和程式設計客棧子程序 都從fork的位置開始向下繼續執行,不同的是父程序執行過程中,得到的fork返回值為子程序號,而子程序得到的是0。失敗時,在 父程序上下文返回-1,不會建立子程序,並且會引發乙個php錯誤。

<?php $pid = pcntl_fork();

var_dump($pid);

?>

執行上面面**,會返回兩個值,乙個是0和子程序的pid;

<?php $i=0;

while($i!=5)

?>

執行上面程式發現程序數指數增長 剛好是2^5=32個;原因是每一條都執行了while迴圈,到最後成了程序的指數增長——也就是說fork的時候把while迴圈也帶了進去,父程序在執行fork的過程中;會得到子程序的程序號

而子程序會的得到是0;意味著0就是子程序標誌;改正後**是這樣的

<?php $i=0;

while($i!=5)

}?>

PHP多程序例項

header content type text html charset utf 8 必須載入擴充套件 if function exists pcntl fork 總程序的數量 totals 3 執行的指令碼數量 cmdarr array 執行的指令碼數量的陣列 for i 0 i totals ...

PHP多程序例項

header content type text html charset utf 8 必須載入擴充套件 if function exists pcntl fork 總程序的數量 totals 3 執行的指令碼數量 cmdarr array 執行的指令碼數量的陣列 for i 0 i totals ...

php 多程序實用小結

前提 眾所周知,php都是單程序處理的,處理多併發呢主要是依賴php fpm多程序,以及他們程序的復用。但是我們使用php多程序也是很有意義的,特別是在cli模式下處理大資料,或者執行後台demon守護程序時,多程序的優勢不用多說。主要用到pcntl的擴充套件以及相關方法函式。我為什麼用到了多程序 ...