Класс EvIdle

(PECL ev >= 0.2.0)

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

ΠΠ°Π±Π»ΡŽΠ΄Π°Ρ‚Π΅Π»ΠΈ EvIdle Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ события Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Π½ΠΈΠΊΠ°ΠΊΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ события Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΆΠ΅ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ высокого ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π° Π½Π΅ находятся Π² ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠΈ (EvPrepare, EvCheck ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π½Π°Π±Π»ΡŽΠ΄Π°Ρ‚Π΅Π»ΠΈ EvIdle Π½Π΅ ΡΡ‡ΠΈΡ‚Π°ΡŽΡ‚ΡΡ Π·Π° ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‰ΠΈΠ΅ события).

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ этот процСсс занят ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ сокСтов ΠΈΠ»ΠΈ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠΉ (ΠΈΠ»ΠΈ Π΄Π°ΠΆΠ΅ сигналов) Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΆΠ΅ ΠΈΠ»ΠΈ Π±ΠΎΠ»Π΅Π΅ высокого ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π° Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° ΠΎΠ½ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Π½. Но ΠΊΠΎΠ³Π΄Π° процСсс находится Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ оТидания (ΠΈΠ»ΠΈ Π² ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π°Π±Π»ΡŽΠ΄Π°Ρ‚Π΅Π»ΠΈ с Π±ΠΎΠ»Π΅Π΅ Π½ΠΈΠ·ΠΊΠΈΠΌ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΠΎΠΌ), Π½Π°Π±Π»ΡŽΠ΄Π°Ρ‚Π΅Π»ΠΈ EvIdle Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π΅Π΄ΠΈΠ½ΠΎΠΆΠ΄Ρ‹ Π·Π° ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΡŽ Ρ†ΠΈΠΊΠ»Π° событий - ΠΏΠΎΠΊΠ° Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ остановлСны ΠΈΠ»ΠΈ ΠΏΠΎΠΊΠ° процСссом Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Ρ‹ Π½ΠΎΠ²Ρ‹Π΅ сообщСния ΠΈ ΠΎΠ½ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ занят Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π½Ρ‹ΠΌΠΈ Π·Π°Π΄Π°Ρ‡Π°ΠΌΠΈ.

Помимо поддСрТания Π½Π΅Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‰Π΅Π³ΠΎ процСсса (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ»Π΅Π·Π΅Π½ Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях), Π½Π°Π±Π»ΡŽΠ΄Π°Ρ‚Π΅Π»ΠΈ EvIdle ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ…ΠΎΡ€ΠΎΡˆΠΈΠΌ мСстом для выполнСния "псСвдо-Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ" ΠΈΠ»ΠΈ Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π΄ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°, ΠΏΠΎΠΊΠ° Ρ†ΠΈΠΊΠ» событий Π½Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ всС ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ события.

НаиболСС Π·Π°ΠΌΠ΅Ρ‚Π½Ρ‹ΠΉ эффСкт проявляСтся Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠΊΠ° спящиС Π½Π°Π±Π»ΡŽΠ΄Π°Ρ‚Π΅Π»ΠΈ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹, процСсс Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² процСссС оТидания Π½ΠΎΠ²Ρ‹Ρ… событий.

ΠžΠ±Π·ΠΎΡ€ класса

class EvIdle extends EvWatcher {
/* НаслСдуСмыС свойства */
public $is_active;
public $data;
public $is_pending;
public $priority;
/* ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ */
public function __construct( callable $callback , mixed $data = ?, int $priority = ?)
final public static function createStopped( string $callback , mixed $data = ?, int $priority = ?): object
/* НаслСдуСмыС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ */
public function EvWatcher::clear(): int
public function EvWatcher::feed( int $revents ): void
public function EvWatcher::getLoop(): EvLoop
public function EvWatcher::invoke( int $revents ): void
public function EvWatcher::keepalive( bool $value = ?): bool
public function EvWatcher::setCallback( callable $callback ): void
public function EvWatcher::start(): void
public function EvWatcher::stop(): void
}

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

  • EvIdle::__construct β€” ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€ Π½Π°Π±Π»ΡŽΠ΄Π°Ρ‚Π΅Π»Ρ EvIdle
  • EvIdle::createStopped β€” Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ класса EvIdle, Π½ΠΎ Π½Π΅ запускаСт Π½Π°Π±Π»ΡŽΠ΄Π°Ρ‚Π΅Π»Ρ
οΌ‹Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Π΅Ρ‰Ρ‘ Π½Π΅ добавляли примСчания для страницы