ホームページ  >  記事  >  バックエンド開発  >  PHPはマルチプロセス並列動作を実現(デーモンプロセスとして利用可能)

PHPはマルチプロセス並列動作を実現(デーモンプロセスとして利用可能)

WBOY
WBOYオリジナル
2016-07-25 09:01:30898ブラウズ
PHP は単純にマルチプロセスの並列処理を実装します。親プロセスは子プロセスの数を制御でき、pcntl 拡張機能を使用して実装されます (注: この効果は Windows では実現できません)。
                                                                                                                                                                                                                                                                                                         



/**
* エントリ関数
* このファイルを ProcessOpera.php として保存します
    * ターミナルで /usr/local/php/bin/php ProcessOpera.php &
  1. を実行します*/
  2. ProcessOpera("runCode", array(), 8);
  3. /**
  4. * コードを実行します
  5. */
  6. function runCode($opt = array()) {
  7. //デーモンプロセスで実行する必要があるコード
  8. }
  9. /**
  10. * $func は、特定の処理を実行する子プロセスの関数名です
  11. * $opt は、$func の配列形式のパラメータです
  12. * $pNum は、fork の子プロセスの数です
  13. */
  14. function ProcessOpera($func, $opts = array(), $pNum = 1) {
  15. while(true) {
  16. $pid = pcntl_fork();
  17. if($pid == -1) {
  18. exit("pid fork error");
  19. if($pid) {
  20. static $execute = 0; $execute++;
  21. ( $ execute> = $ pnum){
  22. pcntl_wait($ status){
  23. 1)、
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。