Linux下實現(xiàn)PHP多進程的方法分享
更新時間:2012年08月16日 10:52:46 作者:
PHP多進程:使用PHP的Process Control Functions(PCNTL/線程控制函數(shù)),需要的朋友可以參考下
PHP多進程:使用PHP的Process Control Functions(PCNTL/線程控制函數(shù))
函數(shù)參考可見:http://www.php.net/manual/zh/ref.pcntl.php
只能用在Unix Like OS,Windows不可用。
編譯php的時候,需要加上–enable-pcntl,且推薦僅僅在CLI模式運行,不要在WEB服務器環(huán)境運行。
以下為實現(xiàn)PHP多進程的簡單測試代碼:
<?php
declare(ticks=1);
$bWaitFlag = FALSE; /// 是否等待進程結束
$intNum = 10; /// 進程總數(shù)
$pids = array(); /// 進程PID數(shù)組
echo ("Start\n");
for($i = 0; $i < $intNum; $i++) {
$pids[$i] = pcntl_fork();/// 產生子進程,而且從當前行之下開試運行代碼,而且不繼承父進程的數(shù)據(jù)信息
if(!$pids[$i]) {
// 子進程進程代碼段_Start
$str="";
sleep(5+$i);
for ($j=0;$j<$i;$j++) {$str.="*";}
echo "$i -> " . time() . " $str \n";
exit();
// 子進程進程代碼段_End
}
}
if ($bWaitFlag)
{
for($i = 0; $i < $intNum; $i++) {
pcntl_waitpid($pids[$i], $status, WUNTRACED);
echo "wait $i -> " . time() . "\n";
}
}
echo ("End\n");
?>
函數(shù)參考可見:http://www.php.net/manual/zh/ref.pcntl.php
只能用在Unix Like OS,Windows不可用。
編譯php的時候,需要加上–enable-pcntl,且推薦僅僅在CLI模式運行,不要在WEB服務器環(huán)境運行。
以下為實現(xiàn)PHP多進程的簡單測試代碼:
復制代碼 代碼如下:
<?php
declare(ticks=1);
$bWaitFlag = FALSE; /// 是否等待進程結束
$intNum = 10; /// 進程總數(shù)
$pids = array(); /// 進程PID數(shù)組
echo ("Start\n");
for($i = 0; $i < $intNum; $i++) {
$pids[$i] = pcntl_fork();/// 產生子進程,而且從當前行之下開試運行代碼,而且不繼承父進程的數(shù)據(jù)信息
if(!$pids[$i]) {
// 子進程進程代碼段_Start
$str="";
sleep(5+$i);
for ($j=0;$j<$i;$j++) {$str.="*";}
echo "$i -> " . time() . " $str \n";
exit();
// 子進程進程代碼段_End
}
}
if ($bWaitFlag)
{
for($i = 0; $i < $intNum; $i++) {
pcntl_waitpid($pids[$i], $status, WUNTRACED);
echo "wait $i -> " . time() . "\n";
}
}
echo ("End\n");
?>
相關文章
PHP導出EXCEL快速開發(fā)指南--PHPEXCEL的使用詳解
本篇文章是對PHPEXCEL的使用進行了詳細的分析介紹,需要的朋友參考下2013-06-06
php使用str_replace實現(xiàn)輸入框回車替換br的方法
這篇文章主要介紹了php使用str_replace實現(xiàn)輸入框回車替換br的方法,可實現(xiàn)使用\\n替換成br的方法,需要的朋友可以參考下2014-11-11
php使用unset()刪除數(shù)組中某個單元(鍵)的方法
這篇文章主要介紹了php使用unset()刪除數(shù)組中某個單元(鍵)的方法,實例分析了unset函數(shù)在刪除數(shù)組單元時的使用技巧,需要的朋友可以參考下2015-02-02
原生JS實現(xiàn)Ajax通過POST方式與PHP進行交互的方法示例
這篇文章主要介紹了原生JS實現(xiàn)Ajax通過POST方式與PHP進行交互的方法,涉及ajax使用post方式與后臺交互及php數(shù)據(jù)接收、處理、查詢數(shù)據(jù)庫等相關操作技巧,需要的朋友可以參考下2018-05-05

