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
}
                  
                

목차