PHP Conference Japan 2024

EvIdle 類別

(PECL ev >= 0.2.0)

簡介

EvIdle 觀察器在沒有其他相同或更高優先級的事件待處理時觸發事件(EvPrepareEvCheck 和其他 EvIdle 觀察器不被視為接收事件)。

因此,只要行程忙於處理相同或更高優先級的通訊端或逾時(甚至訊號),就不會觸發它。但是,當行程處於閒置狀態(或只有較低優先級的觀察器待處理)時,EvIdle 觀察器會在每次事件迴圈迭代時被呼叫一次 - 直到停止,或者行程收到更多事件並再次忙於處理更高優先級的工作。

除了保持程序非阻塞(這本身有時很有用)之外,EvIdle 觀察器很適合用來做「偽背景處理」,或是將處理工作延遲到事件迴圈處理完所有未完成的事件之後。

最明顯的效果是,只要有任何閒置觀察器處於活動狀態,程序在等待新事件時就不會阻塞。

類別概要

類別 EvIdle 繼承自 EvWatcher {
/* 繼承的屬性 */
公開 $is_active;
公開 $data;
公開 $is_pending;
公開 $priority;
/* 方法 */
公開 __construct( 可呼叫 $callback , 混合 $data = ?, 整數 $priority = ?)
final 公開 靜態 createStopped( 字串 $callback , 混合 $data = ?, 整數 $priority = ?): 物件
/* 繼承的方法 */
公開 EvWatcher::feed( 整數 $revents ):
公開 EvWatcher::invoke( 整數 $revents ):
公開 EvWatcher::setCallback( 可呼叫 $callback ):
}

目錄

新增註解

使用者貢獻的註解

此頁面沒有使用者貢獻的註解。
To Top