ホームページ >バックエンド開発 >PHPチュートリアル >pcntl と libevent を使用して PHP でタイマーのパフォーマンスを実装する

pcntl と libevent を使用して PHP でタイマーのパフォーマンスを実装する

WBOY
WBOYオリジナル
2016-06-13 12:35:38812ブラウズ

PHP でタイマー関数を実装するには、pcntl と libevent
[php]
を使用します。

<?php  
  
function newChild($func_name) {  
    echo "enter newChild\n";  
    $args = func_get_args();  
    unset($args[0]);  
    $pid =  pcntl_fork();  
    if ($pid == 0) {  
        function_exists($func_name) and exit(call_user_func_array($func_name, $args)) or exit(-1);  
    } else if($pid == -1) {  
        echo "Couldn't create child process";  
    } else {  
        return $pid;  
    }  
}  
  
(PS:^_^不错的php开发交流群:256271784,验证:csl,有兴趣的话可以加入进来一起讨论)
function on_timer() {  
    echo "timer called\n";  
}  
  
  
/** 
 * @param $func string, function name 
 * @param $timeouts int, microtimes for time delay 
 */  
function timer($func, $timeouts){  
  
  
    echo "enter timer\n";  
    $base = event_base_new();  
    $event = event_new();  
  
  
    event_set($event, 0, EV_TIMEOUT, $func);  
    event_base_set($event, $base);  
    event_add($event, $timeouts);  
  
  
    event_base_loop($base);  
}  
  
  
$pid = newChild("timer", "on_timer", 5000000);  
  
  
if ($pid > 0) {  
    echo "master process exit\n";  
}  

この記事は「清源教育」ブログからのものです。転載する場合はここに明記してください。ありがとうございます。さらにビデオチュートリアルを閲覧するには、Qingyuan Education の公式 Web サイトにログインしてください。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:CURL設定エラー次の記事:CURL設定エラー