Ev EvIdle 클래스
(PECL ev >= 0.2.0)
소개
EvIdle 감시자는 동일하거나 더 높은 우선 순위의 다른 이벤트가 보류 중이 아닐 때 이벤트를 트리거합니다( EvPrepare , EvCheck 및 기타 EvIdle 감시자는 events 수신으로 계산되지 않음).
따라서 프로세스가 같거나 더 높은 우선순위의 소켓이나 타임아웃(또는 신호)을 처리하는 동안에는 트리거되지 않습니다. 그러나 프로세스가 유휴 상태일 때(또는 우선순위가 낮은 감시자만 보류 중일 때) EvIdle 감시자는 이벤트 루프 반복당 한 번 호출됩니다.
프로세스를 비차단(때로는 그 자체로 유용함)으로 유지하는 것 외에도 EvIdle 감시자는 "의사 백그라운드 처리"를 수행하거나 이벤트 루프가 모든 미해결 이벤트를 처리한 후 처리를 지연하기에 좋은 장소입니다.
가장 눈에 띄는 효과는 유휴 감시자가 활성 상태인 한 새 이벤트를 기다릴 때 프로세스가 차단되지 않는다는 것입니다.
클래스 개요
class EvIdle extends EvWatcher {
/* Inherited properties */
public $is_active;
public $data;
public $is_pending;
public $priority;
/* Methods */
public __construct( callable $callback , mixed $data = ?, int $priority = ?)
final public static createStopped( string $callback , mixed $data = ?, int $priority = ?): object
/* Inherited methods */
public EvWatcher::clear(): int
public EvWatcher::feed( int $revents ): void
public EvWatcher::getLoop(): EvLoop
public EvWatcher::invoke( int $revents ): void
public EvWatcher::keepalive( bool $value = ?): bool
public EvWatcher::setCallback( callable $callback ): void
public EvWatcher::start(): void
public EvWatcher::stop(): void
}
목차
- EvIdle::__construct — EvIdle 감시자 객체를 생성합니다.
- EvIdle::createStopped — 중지된 EvIdle 감시자 개체의 인스턴스를 만듭니다.