入门指引 Server Client Process AsyncIO Memory HttpServer WebSocket 高级 其他

发布于 2015-08-09 09:42:02 | 338 次阅读 | 评论: 0 | 来源: 网络整理

swoole_server中已经提供了定时器的API,如果是在客户端程序中,也想使用毫秒定时器。可以用swoole提供的swoole_timer模块。

swoole_timer与PHP本身的pcntl_alarm是不同的。pcntl_alarm是基于时钟信号 + PHP tick函数实现,有4个缺陷:

  • 最大仅支持到秒,而swoole_timer可以到毫秒级别
  • 不支持同时设定多个定时器程序
  • pcntl_alarm依赖declare(ticks = 1)性能很差
  • 无法用于异步IO,只支持同步方式

swoole_timer是基于timerfd+epoll实现的异步毫秒定时器,可完美的运行在EventLoop中,与swoole_client/swoole_event等模块可以无缝结合。

子目录

swoole_timer_add 
swoole_timer_del 
swoole_timer_tick 
swoole_timer_after 
swoole_timer_clear 
最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务