Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 17 additions & 7 deletions reference/pcntl/functions/pcntl-getqos-class.xml
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: acb474ea92ab6226eaf419a85de05f68c6715a9f Maintainer: malferov Status: ready -->
<!-- EN-Revision: 28192e830f2c204570cc140c24341d07807df8bc Maintainer: malferov Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="function.pcntl-getqos-class" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>pcntl_getqos_class</refname>
<refpurpose>Получает текущий QoS-класс процесса</refpurpose>
<refpurpose>Получает QoS-класс текущего потока</refpurpose>
</refnamediv>

<refsect1 role="description">
Expand All @@ -14,10 +14,11 @@
<void/>
</methodsynopsis>
<simpara>
Функция возвращает текущий класс качества обслуживания (англ. Quality of Service, сокр. <acronym>QoS</acronym>) вызывающего процесса.
Функция доступна только на macOS, которая управляет энергоэффективностью и производительностью
на основе <acronym>QoS</acronym>-класса.
Функция возвращает <acronym>QoS</acronym>-класс текущего потока.
</simpara>
<note>
<simpara>Функция доступна только на платформах Apple.</simpara>
</note>
</refsect1>

<refsect1 role="parameters">
Expand All @@ -28,15 +29,24 @@
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<simpara>
Функция возвращает вариант перечисления <classname>Pcntl\QosClass</classname>,
который представляет текущий <acronym>QoS</acronym>-класс.
Функция возвращает вариант перечисления <enumname>Pcntl\QosClass</enumname>,
который соответствует <acronym>QoS</acronym>-классу текущего потока.
</simpara>
</refsect1>

<refsect1 role="errors">
&reftitle.errors;
<simpara>
Функция выбрасывает ошибку <classname>Error</classname>, если при вызове нижележащей функции
<literal>pthread_get_qos_class_np()</literal> возникла ошибка.
</simpara>
</refsect1>

<refsect1 role="seealso">
&reftitle.seealso;
<simplelist>
<member><function>pcntl_setqos_class</function></member>
<member><enumname>Pcntl\QosClass</enumname></member>
</simplelist>
</refsect1>

Expand Down
93 changes: 76 additions & 17 deletions reference/pcntl/functions/pcntl-setqos-class.xml
Original file line number Diff line number Diff line change
@@ -1,22 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: acb474ea92ab6226eaf419a85de05f68c6715a9f Maintainer: malferov Status: ready -->
<!-- EN-Revision: 28192e830f2c204570cc140c24341d07807df8bc Maintainer: malferov Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="function.pcntl-setqos-class" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>pcntl_setqos_class</refname>
<refpurpose>Устанавливает QoS-класс процесса</refpurpose>
<refpurpose>Устанавливает QoS-класс текущему потоку</refpurpose>
</refnamediv>

<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>void</type><methodname>pcntl_setqos_class</methodname>
<methodparam choice="opt"><type>Pcntl\QosClass</type><parameter>qos_class</parameter><initializer>Pcntl\QosClass::Default</initializer></methodparam>
<methodparam choice="opt"><type>Pcntl\QosClass</type><parameter>qos_class</parameter><initializer><constant>Pcntl\QosClass::Default</constant></initializer></methodparam>
</methodsynopsis>
<simpara>
Функция устанавливает класс качества обслуживания (англ. Quality of Service, сокр. <acronym>QoS</acronym>) вызывающего процесса.
Функция доступна только на macOS, которая управляет энергоэффективностью и производительностью
на основе <acronym>QoS</acronym>-класса.
Функция устанавливает <acronym>QoS</acronym>-класс текущему потоку.
</simpara>
</refsect1>

Expand All @@ -26,20 +24,72 @@
<varlistentry>
<term><parameter>qos_class</parameter></term>
<listitem>
<simpara>
<acronym>QoS</acronym>-класс, который требуется установить. Параметр принимает вариант перечисления
<classname>Pcntl\QosClass</classname>:
</simpara>
<simplelist>
<member><literal>Pcntl\QosClass::UserInteractive</literal></member>
<member><literal>Pcntl\QosClass::UserInitiated</literal></member>
<member><literal>Pcntl\QosClass::Default</literal></member>
<member><literal>Pcntl\QosClass::Utility</literal></member>
<member><literal>Pcntl\QosClass::Background</literal></member>
</simplelist>
<para>
Класс качества обслуживания (англ. Quality of Service, сокр. QoS), который требуется назначить текущему потоку.
Операционная система опирается на класс как на подсказку для планирования процессорного времени, приоритета ввода-вывода
и энергопотребления, при этом более высокие классы вытесняют более низкие.
Доступные варианты классов качества описывает страница перечисления <enumname>Pcntl\QosClass</enumname>.
</para>
<para>
<variablelist>
<varlistentry>
<term><constant>Pcntl\QosClass::UserInteractive</constant></term>
<listitem>
<simpara>
Наивысший приоритет. Приоритет указывают для задач, которые непосредственно влияют на пользовательский интерфейс
и требуют практически мгновенного завершения, чтобы пользователь не воспринимал промедление при отрисовке
или обработке задания как задержку.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>Pcntl\QosClass::UserInitiated</constant></term>
<listitem>
<simpara>
Наивысший приоритет, но ниже приоритета <constant>UserInteractive</constant>.
Класс указывают для задачи, которую пользователь явно инициировал
и активно ожидает завершения в течение нескольких секунд.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>Pcntl\QosClass::Default</constant></term>
<listitem>
<simpara>
Стандартный приоритет, который применяется, если не назначили более конкретный.
Задачи со стандартным приоритетом выполняются после задач с более высоким приоритетом,
но раньше задач с приоритетами <constant>Utility</constant> и <constant>Background</constant>.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>Pcntl\QosClass::Utility</constant></term>
<listitem>
<simpara>
Более низкий приоритет, предназначен для длительных задач, о которых пользователь знает,
но которые активно не ожидает, например, загрузки, импорт или массовые вычисления.
Задачи с таким приоритетом планируются энергоэффективным способом.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><constant>Pcntl\QosClass::Background</constant></term>
<listitem>
<simpara>
Низший приоритет для фоновых задач наподобие предварительной загрузки, индексирования или технического обслуживания.
Приоритет до предела оптимизировали для повышения энергоэффективности, а система умеет откладывать запуск задач
с самым низким приоритетом, пока работает под нагрузкой.
</simpara>
</listitem>
</varlistentry>
</variablelist>
</para>
</listitem>
</varlistentry>
</variablelist>
<note>
<simpara>Функция доступна только на платформах Apple.</simpara>
</note>
</refsect1>

<refsect1 role="returnvalues">
Expand All @@ -49,10 +99,19 @@
</simpara>
</refsect1>

<refsect1 role="errors">
&reftitle.errors;
<simpara>
Функция выбрасывает ошибку <classname>Error</classname>, если при вызове нижележащей функции
<literal>pthread_set_qos_class_self_np()</literal> возникла ошибка.
</simpara>
</refsect1>

<refsect1 role="seealso">
&reftitle.seealso;
<simplelist>
<member><function>pcntl_getqos_class</function></member>
<member><enumname>Pcntl\QosClass</enumname></member>
</simplelist>
</refsect1>

Expand Down
72 changes: 0 additions & 72 deletions reference/pcntl/functions/pcntl_getqos_class.xml

This file was deleted.

138 changes: 0 additions & 138 deletions reference/pcntl/functions/pcntl_setqos_class.xml

This file was deleted.

Loading