在协程中创建的定时器,在协程消亡的过程中,会不会随之消亡?

bobshipwood

问题描述

## 假定用swoole驱动
$server = new worker();\
$server->onMessage(
            function(TcpConnection $connection, $data) {
                Timer::add(
                        function (1) {
                            Timer::sleep(2);
                        }
                );
            }
);

为此你搜索到了哪些方案及不适用的原因

没有找到

146 1 0
1个回答

定时器是独立的,除非调用删除接口,否则不会消失

  • bobshipwood 1天前

    谢谢,想问多下,定时器是独立的,依赖于操作系统底层的事件循环来触发的,和协程那些是无关的?

  • walkor 1天前

    依赖workerman的 event-loop,和协程无关

  • bobshipwood 1天前

    谢谢,那我能再问下嘛,我理解协程也有event-loop吧,那和workerman的event-loop的关系是怎样的,他们的底层是不是都是epoll技术?

  • walkor 1天前

    event-loop 是同一个,如果装了event扩展或者底层使用了swoole/swow驱动就是epoll, 否则是select

  • bobshipwood 1天前

    相当于协程用的event-loop和workerman的event-loop是两个,互不干扰,我理解的正确吗

  • walkor 1天前

    只有一个event-loop,没有两个

  • bobshipwood 1天前

    嗯,不好意思,我基础差,
    就是相当于协程用了foreach,wokerman的event-loop也用另外一个foreach,这两个foreach互相不干扰。
    请问我的理解正确吗

  • walkor 17小时前

    你问的都是乱的,我没法回复你,如果你不理解协程,不建议用协程。

  • bobshipwood 4小时前

    好的,有空补下基础,谢谢!

🔝