這篇文章主要介紹了PHP多進程程式設計方法,較為詳細的分析了PHP多進程程式設計的概念、用法、相關函數與使用技巧,需要的朋友可以參考下
本文實例講述了PHP多進程程式設計。分享給大家參考,具體如下:
第一步:
$ php -m 指令查看php是否安裝pcntl 和posix擴展,若沒有則安裝
使用場景:
1. 要進行大量的網路耗時的操作
2. 要做大量的運算,並且,系統有多個cpu ,為了讓使用者有更快的體驗,把一個任務,分成幾個小任務,最後再合併。
多重進程常用函數:
pcntl_alarm — 為進程設定一個alarm鬧鐘訊號
pcntl_errno — 別名pcntl_strerror
pcntl_exec — 在目前進程空間執行指定程式
pcntl_fork — 建立子進程,在目前進程目前位置產生分支(子進程)。譯註:fork是創建了一個子進程,父進程和子進程都從fork的位置開始向下繼續執行,不同的是父進程執行過程中,得到的fork返回值為子進程號,而子進程得到的是0。
pcntl_get_last_error — Retrieve the error number set by the last pcntl function which failed
pcntl_getpriority — 取得任意行程的優先權
pcntl_setpriority# — 修改任意程序的優先權
pcntl_signal_dispatch — 呼叫等待訊號的處理器
pcntl_signal — 安裝一個訊號處理器
pcntl_sigprocmask — 設定或擷取阻塞訊號
pcntl_sigtimedwait — 具有逾時機制的訊號等待
pcntl_sigwaitinfo — 等待訊號
pcntl_strerror — Retrieve the system error message associated with the given errno
pcntl_wait — 等待或傳回fork的子進程狀態
pcntl_waitpid — 等待或傳回fork的子進程狀態
######################################################## #pcntl_wexitstatus### — 傳回中斷的子程序的回傳代碼######pcntl_wifexited### — 檢查狀態代碼是否代表一個正常的退出。 ######pcntl_wifsignaled### — 檢查子進程狀態碼是否代表由於某個訊號而中斷######pcntl_wifstopped### — 檢查子進程目前是否已經停止######pcntl_wstopsig# ## — 傳回導致子程序停止的訊號######pcntl_wtermsig### — 傳回導致子程序中斷的訊號#########實例一:########### #####
登入後複製
登入後複製
以上是關於php中多進程程式設計的程式碼案例的詳細內容。更多資訊請關注PHP中文網其他相關文章!