该类主要是设置定时器操作。结合之前的知识点,要实现定时器有如下两种方式:
- 通过pcntl_alarm
- libevent或event网络IO库的定时操作
这些都在Timer类有实现
1、介绍- 命名空间
Workerman\Lib,按照之前介绍类加载规则,因此该类在Lib目录下
- 类概要
2、如何实现定时操作
主要是查阅是否通过调用Timer:init注入网络IO库实例化对象
2.1、通过pcntl拓展
- 通过pcntl_alarm设置1s,触发一次闹钟信号。然后在父进程通过pcntl_signal_dispatch,触发闹钟信号的回调函数
2.2、通过网络io库
这个基本就是熟悉libevent或event的定时操作
2.3、常见问题
- 闹钟的最小单位是1s
- 整个闹钟信号处理,是以串行的方式运行。比如,设置了多个定时器,如果有一个定时器运行耗时很久,则会卡住其它定时器的运行