亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

PHP多進程簡單實例小結(jié)

 更新時間:2019年11月09日 08:20:09   作者:nike_9527  
這篇文章主要介紹了PHP多進程,結(jié)合簡單實例形式總結(jié)分析了PHP多進程相關(guān)原理、實現(xiàn)方法及操作注意事項,需要的朋友可以參考下

本文實例講述了PHP多進程。分享給大家供大家參考,具體如下:

PHP創(chuàng)建多進程需要使用到pcntl模塊 在編譯時加上--enable-pcntl打開進程控制支持,不是Unix類系統(tǒng)不支持此模塊

php官網(wǎng)介紹http://php.net/manual/zh/book.pcntl.php,創(chuàng)建子進程需要使用到pcntl_fork(),文檔上介紹該函數(shù)說 ,pcntl_fork — 在當前進程當前位置產(chǎn)生分支(子進程)。

譯注:fork是創(chuàng)建了一個子進程,父進程和子進程 都從fork的位置開始向下繼續(xù)執(zhí)行,不同的是父進程執(zhí)行過程中,得到的fork返回值為子進程號,而子進程得到的是0。失敗時,在 父進程上下文返回-1,不會創(chuàng)建子進程,并且會引發(fā)一個PHP錯誤。

<?php
  $pid = pcntl_fork();
  var_dumP($pid);
?>

運行上面面代碼,會返回兩個值,一個是0和子進程的PID;

<?php
  $i=0;
  while($i!=5){
     $pid = pcntl_fork();
     echo "進程ID:".$pid."==".$i++.PHP_EOL;
  }   
?>

運行上面程序發(fā)現(xiàn)進程數(shù)指數(shù)增長 剛好是2^5=32個;原因是每一條都執(zhí)行了while循環(huán),到最后成了進程的指數(shù)增長——也就是說fork的時候把while循環(huán)也帶了進去,父進程在執(zhí)行fork的過程中;會得到子進程的進程號

而子進程會的得到是0;意味著0就是子進程標志;改正后代碼是這樣的

<?php
  $i=0;
  while($i!=5){
    $pid = pcntl_fork();
    echo "進程ID:".$pid."==".$i++.PHP_EOL;
    if ($pid == 0) {
      //code
      exit(0);
    }
  }
?>

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《PHP進程與線程操作技巧總結(jié)》、《PHP網(wǎng)絡(luò)編程技巧總結(jié)》、《PHP基本語法入門教程》、《PHP數(shù)組(Array)操作技巧大全》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫操作入門教程》及《php常見數(shù)據(jù)庫操作技巧匯總

希望本文所述對大家PHP程序設(shè)計有所幫助。

相關(guān)文章

最新評論