この記事では、php における pcntl_fork の役割を紹介します。一定の参考値があるので、困っている友達が参考になれば幸いです。
php_pcntl 拡張機能のインストールおよび有効化方法については、ここでは紹介せず、pcntl_fork() 関数自体の解析のみを行います。
$one = 123; $one++; $two = time(); $pid = []; $pid = pcntl_fork(); $three = time();
pcntl_fork()関数が実行されると、子プロセスが作成されます。子プロセスは、現在のプロセス、つまり親プロセスに関するデータ、コード、状態をすべてコピーします。
#1. pcntl_fork() が子プロセスの作成に成功すると、子プロセス番号が親プロセスに返され、子プロセスに 0 が返され、失敗した場合は -1 が返されます2. 子プロセス 親プロセスのコードとデータがコピーされます。つまり、子プロセスと親プロセスが所有するコードとデータはまったく同じになります。 3. 重要なポイント: 子プロセスは親プロセスのステータスをコピーするため、上記のサンプル コードがあります: 5 行目で pcntl_fork が実行され、作成された子プロセスのコードも実行されます。 5行目から。子プロセスはデータとコードをコピーしました。したがって、サブプロセス内には、$one、$two などの変数が同じように存在します。答えは 7 です。 Linux では、ps コマンドを使用して 8 つのプロセス (親プロセス 1 つ、子プロセス 7 つ) を表示できます。 理由: i=0 0 の場合、親プロセスは子プロセスを作成します。この時点のプロセスはループを実行し続けます。独自の子プロセスを作成します。同様に、i=0の場合は子プロセス0が作成され、このとき子プロセスがループを実行し続けます。独自の子プロセスを作成します。同様に、i=0 の場合、子プロセス 0 が作成され、このとき子プロセスはループを実行し続けます。独自の子プロセスを作成します。同様に、これは i=1 の場合にも発生します... 推奨学習:php ビデオ チュートリアル
以上がPHPのpcntl_forkの機能は何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。