🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# 4.3.0 延时事件机制改进 在`4.3.0`之前的版本,`swoole_event_defer`方法底层的延时事件机制,存在一些问题。 * 在`Reactor::wait`之前创建的`defer`任务,没有事件发生时无法触发,为了解决此问题,底层会在这种情况下,将延时任务转换为`1ms`的定时器 * 在延时任务中添加延时任务,会在循环执行,而不是在下一次`epoll_wait`后执行 * 延时任务无法阻挡`Reactor`退出,导致某些延时任务可能会丢失 新版本改进了延时任务机制,现在更安全,代码更简洁。 * 有延时任务时,将`epoll_wait`的超时事件设置为`0`,即使没有任何事件触发,依然可以立即去执行延时任务,而不依赖定时器 * 有延时任务时,`Reactor`必须要全部执行完成后才会退出 * 在延时任务中添加延时任务,将会在下一次`epoll_wait`后执行