当前位置: 首页 > 后端技术 > PHP

PHP的Ev教程二(watcher和watche回调等)

时间:2023-03-29 15:22:59 PHP

Watchers(观察者)观察者是为了记录一些东西而创建的对象。例如,下面的代码等待STDIN变得可读:){echo"STDIN是可读的\n";});Ev::run(Ev::RUN_ONCE);?>所有观察者构造函数自动启动观察者。createStopped方法创建一个停止监视器(例如EvIo::createStopped())。请注意,当观察者对象被销毁时,观察者会自动停止。因此,应该保留构造函数或工厂方法返回的观察者对象。另请注意,所有更改观察者属性(设置、优先级等)的方法在激活时都会自动停止并再次启动,这意味着未决事件将丢失。另请参阅:Watchercallbacks.Watchercallbacks(观察者回调)所有观察者都可以处于活动状态(等待事件)或不活动(暂停)。只有活跃的观察者才会调用他们的回调。将调用所有回调(至少有两个参数):watcher:观察者,revents:接收时间的位掩码。观察者回调被传递给观察者构造函数(从EvWatcher派生的类-EvCheck::__construct()、EvChild::__construct()等)。观察者回调应该匹配以下原型:事件集)观察者收到事件。每个观察者类型都有一个关联的revents位掩码,因此同一个回调可以用于多个观察者。事件掩码以类型命名,即EvChild(或EvLoop::child()),设置EV::CHILD,EvPrepare(或EvLoop::prepare())设置Ev::PREPARE,EvPeriodic(或EvLoop::periodic())设置Ev::PERIODIC等,I/O事件除外(它可以同时设置Ev::READ和Ev::WRITE位)