1
0
mirror of https://github.com/php/doc-ru.git synced 2026-03-26 00:32:15 +01:00
Files
archived-doc-ru/reference/ev/evcheck.xml
2024-06-14 17:02:33 +01:00

110 lines
5.5 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 33e5f4ef7243bc1282acb1cba93e8f99c1debe68 Maintainer: rjhdby Status: ready -->
<!-- Reviewed: no -->
<reference xml:id="class.evcheck" role="class" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude">
<title>Класс EvCheck</title>
<titleabbrev>EvCheck</titleabbrev>
<partintro>
<!-- {{{ EvCheck intro -->
<section xml:id="evcheck.intro">
&reftitle.intro;
<para>
Наблюдатели <classname>EvPrepare</classname> и
<classname>EvCheck</classname>
обычно используются в паре.
Наблюдатель <classname>EvPrepare</classname>
вызывается до блокировки процесса, затем вызывается
<classname>EvCheck</classname>
</para>
<para>
Не разрешается вызывать <methodname>EvLoop::run</methodname>
или аналогичные методы или функции, введённые в текущий цикл событий другими
наблюдателями <classname>EvPrepare</classname> или
<classname>EvCheck</classname>.
Однако другие циклы событий, не текущий, могут. Смысл в том, что текущему не нужно
проверять рекурсию в таких наблюдателях, т.е. всегда будет последовательность:
<classname>EvPrepare</classname> -&gt; блокировка -&gt;
<classname>EvCheck</classname>,
так что наблюдателя каждого вида всегда будут вызывать в парах, захватывая
блокирующий вызов.
</para>
<para>
Основная цель заключается в интеграции других событийных механизмов в
<emphasis>libev</emphasis> и улучшенное их использование. Они могут быть
использованы, например, при отслеживании изменении переменных, при реализации
пользовательских наблюдателей, при интегрировании NET-SNMP или сопрограмм библиотеки
и многое другое. Они также иногда полезны при кешировании данных и при очистке данных
до блокировки.
</para>
<para>
Рекомендуется устанавливать наблюдателям
<classname>EvCheck</classname>
наивысший приоритет (<constant>Ev::MAXPRI</constant>),
чтобы обеспечить возможность их запуска раньше любых других наблюдателей
после опроса (это не имеет значения для наблюдателей
<classname>EvPrepare</classname>).
</para>
<para>
Кроме того, наблюдатели
<classname>EvCheck</classname>
не смогут активировать/подавать события. Пока <emphasis>libev</emphasis>
полностью поддерживает все это, они могут выполняться раньше, чем другие наблюдатели
<classname>EvCheck</classname> выполнят свою работу.
</para>
</section>
<!-- }}} -->
<section xml:id="evcheck.synopsis">
&reftitle.classsynopsis;
<!-- {{{ Synopsis -->
<classsynopsis>
<ooclass>
<classname>EvCheck</classname>
</ooclass>
<!-- {{{ Class synopsis -->
<classsynopsisinfo>
<ooclass>
<classname>EvCheck</classname>
</ooclass>
<ooclass>
<modifier>extends</modifier>
<classname>EvWatcher</classname>
</ooclass>
</classsynopsisinfo>
<!-- }}} -->
<!--<classsynopsisinfo role="comment">&Properties;</classsynopsisinfo>-->
<classsynopsisinfo role="comment">&InheritedProperties;</classsynopsisinfo>
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('evwatcher.synopsis')/descendant::db:fieldsynopsis)" />
<classsynopsisinfo role="comment">&Methods;</classsynopsisinfo>
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.evcheck')/db:refentry/db:refsect1[@role='description']/descendant::db:constructorsynopsis[not(@role='procedural')])"/>
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.evcheck')/db:refentry/db:refsect1[@role='description']/descendant::db:methodsynopsis[not(@role='procedural')])"/>
<classsynopsisinfo role="comment">&InheritedMethods;</classsynopsisinfo>
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.evwatcher')/db:refentry/db:refsect1[@role='description']/descendant::db:methodsynopsis[1])" />
</classsynopsis>
<!-- }}} -->
</section>
</partintro>
&reference.ev.entities.evcheck;
</reference><!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->