array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'ru', ), 'this' => array ( 0 => 'class.evcheck.php', 1 => 'EvCheck', ), 'up' => array ( 0 => 'book.ev.php', 1 => 'Ev', ), 'prev' => array ( 0 => 'ev.verify.php', 1 => 'Ev::verify', ), 'next' => array ( 0 => 'evcheck.construct.php', 1 => 'EvCheck::__construct', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'ru', 'path' => 'reference/ev/evcheck.xml', ), 'extra_header_links' => array ( 'rel' => 'alternate', 'href' => '/manual/en/feeds/class.evcheck.atom', 'type' => 'application/atom+xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PECL ev >= 0.2.0)
Наблюдатели EvPrepare и EvCheck обычно используются в паре. Наблюдатель EvPrepare вызывается до блокировки процесса, затем вызывается EvCheck
Не разрешается вызывать EvLoop::run() или аналогичные методы или функции, введённые в текущий цикл событий другими наблюдателями EvPrepare или EvCheck. Однако другие циклы событий, не текущий, могут. Смысл в том, что текущему не нужно проверять рекурсию в таких наблюдателях, т.е. всегда будет последовательность: EvPrepare -> блокировка -> EvCheck, так что наблюдателя каждого вида всегда будут вызывать в парах, захватывая блокирующий вызов.
Основная цель заключается в интеграции других событийных механизмов в libev и улучшенное их использование. Они могут быть использованы, например, при отслеживании изменении переменных, при реализации пользовательских наблюдателей, при интегрировании NET-SNMP или сопрограмм библиотеки и многое другое. Они также иногда полезны при кешировании данных и при очистке данных до блокировки.
Рекомендуется устанавливать наблюдателям
EvCheck
наивысший приоритет (Ev::MAXPRI
),
чтобы обеспечить возможность их запуска раньше любых других наблюдателей
после опроса (это не имеет значения для наблюдателей
EvPrepare).
Кроме того, наблюдатели EvCheck не смогут активировать/подавать события. Пока libev полностью поддерживает все это, они могут выполняться раньше, чем другие наблюдатели EvCheck выполнят свою работу.
$callback
,
string $data
= ?,
string $priority
= ?): object