PHP は単純にマルチプロセスの並列処理を実装します。親プロセスは子プロセスの数を制御でき、pcntl 拡張機能を使用して実装されます (注: この効果は Windows では実現できません)。
/** * エントリ関数 * このファイルを ProcessOpera.php として保存します * ターミナルで /usr/local/php/bin/php ProcessOpera.php & - を実行します*/
-
-
- ProcessOpera("runCode", array(), 8);
-
- /**
- * コードを実行します
- */
- function runCode($opt = array()) {
- //デーモンプロセスで実行する必要があるコード
- }
-
- /**
- * $func は、特定の処理を実行する子プロセスの関数名です
- * $opt は、$func の配列形式のパラメータです
- * $pNum は、fork の子プロセスの数です
- */
- function ProcessOpera($func, $opts = array(), $pNum = 1) {
- while(true) {
- $pid = pcntl_fork();
- if($pid == -1) {
- exit("pid fork error");
- if($pid) {
- static $execute = 0; $execute++;
- ( $ execute> = $ pnum){
- pcntl_wait($ status){
- 1)、
-
-
-
-
-
-
-
|