2024年PHP日本会议

EvIdle 类

(PECL ev >= 0.2.0)

简介

EvIdle 观察器在没有其他相同或更高优先级的事件待处理时触发事件(EvPrepareEvCheck 和其他 EvIdle 观察器不被视为接收事件)。

因此,只要进程忙于处理相同或更高优先级的套接字或超时(甚至信号),它就不会被触发。但是,当进程空闲(或只有较低优先级的观察器待处理)时,EvIdle 观察器将在每次事件循环迭代中被调用一次——直到停止,或者进程接收更多事件并再次忙于处理更高优先级的事情。

除了保持进程非阻塞(这有时本身也很有用)之外,EvIdle 观察器也是进行“伪后台处理” 或将处理内容延迟到事件循环处理所有未完成事件之后的好地方。

最明显的效应是,只要任何空闲观察器处于活动状态,进程在等待新事件时不会阻塞。

类概要

class EvIdle extends EvWatcher {
/* 继承的属性 */
public $is_active;
public $data;
public $is_pending;
public $priority;
/* 方法 */
public __construct( callable $callback , mixed $data = ?, int $priority = ?)
final public static createStopped( string $callback , mixed $data = ?, int $priority = ?): object
/* 继承的方法 */
public EvWatcher::feed( int $revents ): void
public EvWatcher::invoke( int $revents ): void
public EvWatcher::keepalive( bool $value = ?): bool
public EvWatcher::setCallback( callable $callback ): void
}

目录

添加注释

用户贡献注释

此页面没有用户贡献的注释。
To Top