> 백엔드 개발 > PHP 튜토리얼 > PHP 中实现Timer效能使用pcntl和libevent

PHP 中实现Timer效能使用pcntl和libevent

WBOY
풀어 주다: 2016-06-13 12:35:38
원래의
822명이 탐색했습니다.

PHP 中实现Timer功能使用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";  
}  
로그인 후 복사

本文出自 “清源教育” 博客,转载请注明此处,谢谢!欢迎登录清源教育官网,查看更多视频教程。
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿