91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHP中多進程的實現方法

發布時間:2021-06-07 17:30:17 來源:億速云 閱讀:135 作者:Leah 欄目:開發技術

本篇文章給大家分享的是有關PHP中多進程的實現方法,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

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

php官網介紹http://php.net/manual/zh/book.pcntl.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){
     $pid = pcntl_fork();
     echo "進程ID:".$pid."==".$i++.PHP_EOL;
  }   
?>

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

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

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

以上就是PHP中多進程的實現方法,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI

图木舒克市| 永春县| 隆德县| 收藏| 陇西县| 噶尔县| 铁力市| 北流市| 法库县| 乐陵市| 皋兰县| 招远市| 凌云县| 紫金县| 顺义区| 南雄市| 杂多县| 兴宁市| 六枝特区| 平谷区| 阿拉善右旗| 柘城县| 凤冈县| 潼南县| 广德县| 永安市| 阿瓦提县| 延安市| 鄂州市| 红桥区| 永德县| 郎溪县| 和田市| 武义县| 从江县| 石狮市| 大邑县| 临洮县| 宁波市| 甘孜县| 育儿|