定时器执行的问题

3p大法好

pcntl_signal(SIGALRM, array('\Workerman\Lib\Timer', 'signalHandle'), false);
这是在timer类init里面执行的方法
默认是不是应该调用下面的

    public static function signalHandle()
    {
        if(!self::$_event)
        {
            pcntl_alarm(1);
            self::tick();
        }
    }

方法? 可我在该方法中断点并没有发现程序有进来过。求解

6106 4 0
4个回答

walkor

不是调用signalHandle,
定时逻辑在
Events/Libevent.php(有libevent扩展时)

Events/Select.php (无libevent扩展时)

  • 暂无评论
3p大法好

那请问signalHandle有无实际作用??

  • 暂无评论
walkor

signalHandle 在主进程有用,定时终止进程等

  • 暂无评论
3p大法好

谢谢。了解了

  • 暂无评论
年代过于久远,无法发表回答
🔝