国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

定時(shí)器類 Timer 的疑惑,求大神解答

小陽光

為什么定時(shí)器類 Timer 里面有一些 pcntl_alarm的函數(shù),我不明白為什么要用這些函數(shù),workerman的定時(shí)器我看并不依賴于pcntl_alarm,是用libevent擴(kuò)展或者event擴(kuò)展 或者超時(shí)來實(shí)現(xiàn)的毫秒級(jí)的定時(shí)器。

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

意思是沒任何event那么就用 pcntl_alarm 來實(shí)現(xiàn)mi秒級(jí)定時(shí)器嗎?

4114 1 2
1個(gè)回答

walkor 打賞

主進(jìn)程和子進(jìn)程定時(shí)器區(qū)別:
主進(jìn)程使用的是pcntl_alarm做定時(shí)。子進(jìn)程使用event擴(kuò)展/libevent擴(kuò)展或者stream_select的超時(shí)機(jī)制做定時(shí)。
主進(jìn)程是秒級(jí)定時(shí)器,子進(jìn)程是毫秒級(jí)定時(shí)器。
因?yàn)橹鬟M(jìn)程不處理業(yè)務(wù),秒級(jí)定時(shí)器對(duì)于主進(jìn)程來說已經(jīng)可以滿足需要。

原因
至于為什么主進(jìn)程單獨(dú)使用pcntl_alarm做定時(shí),主要是因?yàn)橹鬟M(jìn)程如果使用event擴(kuò)展/libevent擴(kuò)展做定時(shí)后,
子進(jìn)程會(huì)繼承主進(jìn)程已經(jīng)初始化帶有定時(shí)的event/libevent實(shí)例,導(dǎo)致子進(jìn)程發(fā)生不可預(yù)知的定時(shí)邏輯。
另外子進(jìn)程和主進(jìn)程共享一個(gè)event/libevent實(shí)例,當(dāng)子進(jìn)程由于退出等操作銷毀event/libevent實(shí)例時(shí),對(duì)主進(jìn)程也有可能產(chǎn)生不可預(yù)知的影響。

年代過于久遠(yuǎn),無法發(fā)表回答
??