mirror of
https://github.com/php/doc-pt_br.git
synced 2026-03-23 22:52:12 +01:00
parallel : fix XML by converting para to simpara tags via script
This commit is contained in:
@@ -1,38 +1,38 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: bbfa9738785f054752e6cb565cd0a58e71015bc6 Maintainer: fernandowobeto Status: ready --><!-- CREDITS: fernandowobeto -->
|
||||
|
||||
<book xml:id="book.parallel" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
<!-- EN-Revision: 57c7669a1f5336cb17413e0b46540c52c77ee84f Maintainer: fernandowobeto Status: ready -->
|
||||
<!-- CREDITS: fernandowobeto -->
|
||||
<book xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude" xml:id="book.parallel">
|
||||
<?phpdoc extension-membership="pecl" ?>
|
||||
<title>parallel</title>
|
||||
<titleabbrev>parallel</titleabbrev>
|
||||
|
||||
<preface xml:id="intro.parallel">
|
||||
&reftitle.intro;
|
||||
<para>
|
||||
<simpara>
|
||||
parallel é uma extensão de simultaneidade paralela para PHP ≥ 7.2.0.
|
||||
A partir do parallel 1.2.0, PHP ≥ 8.0.0 é necessário.
|
||||
</para>
|
||||
<para>
|
||||
</simpara>
|
||||
<simpara>
|
||||
Segue uma breve descrição dos conceitos básicos do parallel; informações mais detalhadas podem ser encontradas nesta seção do manual.
|
||||
</para>
|
||||
</simpara>
|
||||
<simplesect>
|
||||
<title>Runtime</title>
|
||||
<para>
|
||||
<simpara>
|
||||
Um <classname>parallel\Runtime</classname> representa um thread interpretador de PHP. Um <classname>parallel\Runtime</classname> é configurado com um arquivo de bootstrap opcional passado para <methodname>parallel\Runtime::__construct</methodname>, normalmente é um autoloader
|
||||
ou alguma outra rotina de pré-carregamento: O arquivo de bootstrap irá ser incluído antes de qualquer tarefa ser executada.
|
||||
</para>
|
||||
<para>
|
||||
</simpara>
|
||||
<simpara>
|
||||
Após a construção, o <classname>parallel\Runtime</classname> permanece disponível até ser fechado, eliminado ou destruído pelas regras normais de escopo dos objetos PHP.
|
||||
<methodname>parallel\Runtime::run</methodname> permite ao programador agendar tarefas para execução em paralelo.
|
||||
Um <classname>parallel\Runtime</classname> possui um agendamento FIFO, as tarefas serão executadas na ordem em que foram agendadas.
|
||||
</para>
|
||||
</simpara>
|
||||
</simplesect>
|
||||
<simplesect>
|
||||
<title>API funcional</title>
|
||||
<para>
|
||||
<simpara>
|
||||
parallel implementa uma API funcional de nível superior sobre <classname>parallel\Runtime</classname> que fornece um único ponto de entrada de função para executar código paralelo
|
||||
com agendamento automático: <function>parallel\run</function>.
|
||||
</para>
|
||||
</simpara>
|
||||
</simplesect>
|
||||
<simplesect>
|
||||
<title>Task</title>
|
||||
@@ -41,58 +41,58 @@
|
||||
Porém, existem algumas instruções que são proibidas nas tarefas:
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>yield</para>
|
||||
<simpara>yield</simpara>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>operador 'use' por referência</para>
|
||||
<simpara>operador 'use' por referência</simpara>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>declaração de classe</para>
|
||||
<simpara>declaração de classe</simpara>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>declaração de função com nome</para>
|
||||
<simpara>declaração de função com nome</simpara>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</para>
|
||||
<note>
|
||||
<para>
|
||||
<simpara>
|
||||
Closures aninhados podem ter 'use' por referência ou 'yield', mas não devem conter declarações de classe ou de função nomeada.
|
||||
</para>
|
||||
</simpara>
|
||||
</note>
|
||||
<note>
|
||||
<para>
|
||||
<simpara>
|
||||
Nenhuma instrução é proibida nos arquivos que a tarefa pode incluir.
|
||||
</para>
|
||||
</simpara>
|
||||
</note>
|
||||
</simplesect>
|
||||
<simplesect>
|
||||
<title>Future</title>
|
||||
<para>
|
||||
<simpara>
|
||||
<classname>parallel\Future</classname> é usado para acessar o valor de retorno da tarefa e expõe uma API para cancelamento da tarefa.
|
||||
</para>
|
||||
</simpara>
|
||||
</simplesect>
|
||||
<simplesect>
|
||||
<title>Channel</title>
|
||||
<para>
|
||||
<simpara>
|
||||
Uma tarefa pode ser agendada com argumentos, usar variáveis de escopo léxico (por valor) e retornar um valor (através de um <classname>parallel\Future</classname>), mas estes só permitem comunicação unidirecional:
|
||||
Eles permitem que o programador envie e recupere dados de uma tarefa, mas não permitem a comunicação bidirecional entre tarefas.
|
||||
A API <classname>parallel\Channel</classname> permite a comunicação bidirecional entre tarefas, um <classname>parallel\Channel</classname> é uma conexão entre tarefas semelhante a um soquete que o programador pode usar para enviar e receber dados.
|
||||
</para>
|
||||
</simpara>
|
||||
</simplesect>
|
||||
<simplesect>
|
||||
<title>Events</title>
|
||||
<para>
|
||||
<simpara>
|
||||
A API <classname>parallel\Events</classname> implementa um loop de eventos de sensação nativa (<classname>Traversable</classname>) e um método <methodname>parallel\Events::poll</methodname>.
|
||||
Permite ao programador trabalhar com conjuntos de channels e/ou futures.
|
||||
O programador simplesmente adiciona channels e futures ao loop de eventos, opcionalmente definindo a entrada para gravações com <methodname>parallel\Events::setInput</methodname>,
|
||||
e entra em um foreach: parallel irá ler e escrever em objetos à medida que eles se tornam disponíveis produzindo objetos <classname>parallel\Events\Event</classname>
|
||||
que descrevem as operações que ocorreram.
|
||||
</para>
|
||||
</simpara>
|
||||
</simplesect>
|
||||
<simplesect role="seealso">
|
||||
&reftitle.seealso;
|
||||
<simplelist>
|
||||
<member><xref linkend="philosophy.parallel" /></member>
|
||||
<member><xref linkend="philosophy.parallel"/></member>
|
||||
</simplelist>
|
||||
</simplesect>
|
||||
</preface>
|
||||
@@ -112,7 +112,6 @@
|
||||
<!--&reference.parallel.examples;-->
|
||||
|
||||
</book>
|
||||
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
|
||||
@@ -1,20 +1,18 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: 3985f162bcb7f71764c8ea1c637d70303c01847c Maintainer: fernandowobeto Status: ready --><!-- CREDITS: fernandowobeto -->
|
||||
|
||||
<section xml:id="parallel.installation" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!-- EN-Revision: 57c7669a1f5336cb17413e0b46540c52c77ee84f Maintainer: fernandowobeto Status: ready -->
|
||||
<!-- CREDITS: fernandowobeto -->
|
||||
<section xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="parallel.installation">
|
||||
&reftitle.install;
|
||||
|
||||
<para>
|
||||
<simpara>
|
||||
Use <option role="configure">--with-parallel[=DIR]</option> ao compilar o PHP.
|
||||
</para>
|
||||
</simpara>
|
||||
|
||||
<para>
|
||||
<simpara>
|
||||
Os usuários do Windows devem incluir <filename>php_parallel.dll</filename> no &php.ini;
|
||||
</para>
|
||||
</simpara>
|
||||
|
||||
</section>
|
||||
|
||||
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
|
||||
@@ -1,21 +1,21 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: d9ecfba6ad07e4e0b1b13ed1f0592f09d2e2f5c9 Maintainer: fernandowobeto Status: ready --><!-- CREDITS: fernandowobeto -->
|
||||
|
||||
<reference xml:id="functional.parallel" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!-- EN-Revision: 57c7669a1f5336cb17413e0b46540c52c77ee84f Maintainer: fernandowobeto Status: ready -->
|
||||
<!-- CREDITS: fernandowobeto -->
|
||||
<reference xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="functional.parallel">
|
||||
<title>API funcional</title>
|
||||
<partintro>
|
||||
<para>
|
||||
<simpara>
|
||||
A API <classname>parallel\Runtime</classname> fornece um grande grau de controle para o programador PHP avançado e para aqueles intimamente familiarizados com a escrita de aplicativos que usam
|
||||
simultaneidade paralela.
|
||||
</para>
|
||||
</simpara>
|
||||
<para>
|
||||
A API funcional fornece menos controle em troca da capacidade de tomar decisões para o programador:
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>todos os tempos de execução em execução são inicializados de forma idêntica</para>
|
||||
<simpara>todos os tempos de execução em execução são inicializados de forma idêntica</simpara>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>o agendamento é determinado pela API, não pelo programador</para>
|
||||
<simpara>o agendamento é determinado pela API, não pelo programador</simpara>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
<function>parallel\run</function> fornece a garantia de que a tarefa começará a ser executada em paralelo assim que permitido pelas restrições de hardware e sistema operacional, sem
|
||||
@@ -26,7 +26,6 @@
|
||||
&reference.parallel.functions.parallel.bootstrap;
|
||||
&reference.parallel.functions.parallel.run;
|
||||
</reference>
|
||||
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: 1efc90bacb2ebf840f5416bd11c8daf8c9345e33 Maintainer: leonardolara Status: ready -->
|
||||
<!-- EN-Revision: 57c7669a1f5336cb17413e0b46540c52c77ee84f Maintainer: leonardolara Status: ready -->
|
||||
<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude" xml:id="parallel.bootstrap">
|
||||
<refnamediv>
|
||||
<refname>parallel\bootstrap</refname>
|
||||
@@ -12,9 +12,9 @@
|
||||
<type>void</type><methodname>parallel\bootstrap</methodname>
|
||||
<methodparam><type>string</type><parameter>file</parameter></methodparam>
|
||||
</methodsynopsis>
|
||||
<para>
|
||||
<simpara>
|
||||
Usa o arquivo informado em <parameter>file</parameter> para inicializar todas as variáveis em tempo de execução criadas para agendamento automático via <function>parallel\run</function>.
|
||||
</para>
|
||||
</simpara>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="parameters">
|
||||
@@ -23,9 +23,9 @@
|
||||
<varlistentry>
|
||||
<term><parameter>file</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
<simpara>
|
||||
Caminho para o arquivo para inicializar todas as variáveis.
|
||||
</para>
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
@@ -33,22 +33,22 @@
|
||||
|
||||
<refsect1 role="returnvalues">
|
||||
&reftitle.returnvalues;
|
||||
<para>
|
||||
<simpara>
|
||||
&return.void;
|
||||
</para>
|
||||
</simpara>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="errors">
|
||||
&reftitle.errors;
|
||||
<warning>
|
||||
<para>
|
||||
<simpara>
|
||||
Lança uma exceção <type>parallel\Runtime\Error\Bootstrap</type> se o método já tiver sido chamado para este processo.
|
||||
</para>
|
||||
</simpara>
|
||||
</warning>
|
||||
<warning>
|
||||
<para>
|
||||
<simpara>
|
||||
Lança uma exceção <type>parallel\Runtime\Error\Bootstrap</type> se chamado após <function>parallel\run</function>.
|
||||
</para>
|
||||
</simpara>
|
||||
</warning>
|
||||
</refsect1>
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: 41445b3d771660805270f52adf0e421aa20f12ab Maintainer: leonardolara Status: ready -->
|
||||
|
||||
<refentry xml:id="parallel.run" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
<!-- EN-Revision: 57c7669a1f5336cb17413e0b46540c52c77ee84f Maintainer: leonardolara Status: ready -->
|
||||
<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude" xml:id="parallel.run">
|
||||
<refnamediv>
|
||||
<refname>parallel\run</refname>
|
||||
<refpurpose>Execução</refpurpose>
|
||||
@@ -13,44 +12,44 @@
|
||||
<type class="union"><type>Future</type><type>null</type></type><methodname>parallel\run</methodname>
|
||||
<methodparam><type>Closure</type><parameter>task</parameter></methodparam>
|
||||
</methodsynopsis>
|
||||
<para>
|
||||
<simpara>
|
||||
Agenda a tarefa informada em <parameter>task</parameter> para execução em paralelo.
|
||||
</para>
|
||||
</simpara>
|
||||
<methodsynopsis>
|
||||
<type class="union"><type>Future</type><type>null</type></type><methodname>parallel\run</methodname>
|
||||
<methodparam><type>Closure</type><parameter>task</parameter></methodparam>
|
||||
<methodparam><type>array</type><parameter>argv</parameter></methodparam>
|
||||
</methodsynopsis>
|
||||
<para>
|
||||
<simpara>
|
||||
Agenda a tarefa informada em <parameter>task</parameter> para execução em paralelo, passando os argumentos <parameter>argv</parameter> no momento da execução.
|
||||
</para>
|
||||
</simpara>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="scheduling-characteristics">
|
||||
<title>Agendamento Automático</title>
|
||||
<para>
|
||||
<simpara>
|
||||
Se um <classname>\parallel\Runtime</classname> criado internamente e armazenado em cache por uma chamada anterior a <function>parallel\run</function> estiver ocioso,
|
||||
ele será usado para executar a tarefa. Se nenhum <classname>\parallel\Runtime</classname> estiver ocioso, o parallel criará e armazenará em cache um
|
||||
<classname>\parallel\Runtime</classname>.
|
||||
</para>
|
||||
</simpara>
|
||||
<note>
|
||||
<para>
|
||||
<simpara>
|
||||
Objetos <classname>\parallel\Runtime</classname> criados pelo programador não são usados para agendamento automático.
|
||||
</para>
|
||||
</simpara>
|
||||
</note>
|
||||
</refsect1>
|
||||
|
||||
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('parallel-runtime.run')/db:refsect1[@role='parameters'])" />
|
||||
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('parallel-runtime.run')/db:refsect1[@role='closure-characteristics'])" />
|
||||
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('parallel-runtime.run')/db:refsect1[@role='argv-characteristics'])" />
|
||||
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('parallel-runtime.run')/db:refsect1[@role='object-characteristics'])" />
|
||||
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('parallel-runtime.run')/db:refsect1[@role='returnvalues'])" />
|
||||
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('parallel-runtime.run')/db:refsect1[@role='exceptions'])" />
|
||||
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('parallel-runtime.run')/db:refsect1[@role='parameters'])"/>
|
||||
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('parallel-runtime.run')/db:refsect1[@role='closure-characteristics'])"/>
|
||||
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('parallel-runtime.run')/db:refsect1[@role='argv-characteristics'])"/>
|
||||
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('parallel-runtime.run')/db:refsect1[@role='object-characteristics'])"/>
|
||||
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('parallel-runtime.run')/db:refsect1[@role='returnvalues'])"/>
|
||||
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('parallel-runtime.run')/db:refsect1[@role='exceptions'])"/>
|
||||
|
||||
<refsect1 role="seealso">
|
||||
&reftitle.seealso;
|
||||
<simplelist>
|
||||
<member><xref linkend="parallel-runtime.run" /></member>
|
||||
<member><xref linkend="parallel-runtime.run"/></member>
|
||||
</simplelist>
|
||||
</refsect1>
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: d9ecfba6ad07e4e0b1b13ed1f0592f09d2e2f5c9 Maintainer: fernandowobeto Status: ready --><!-- CREDITS: fernandowobeto -->
|
||||
|
||||
<reference xml:id="class.parallel-channel" role="class" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
<!-- EN-Revision: 57c7669a1f5336cb17413e0b46540c52c77ee84f Maintainer: fernandowobeto Status: ready -->
|
||||
<!-- CREDITS: fernandowobeto -->
|
||||
<reference xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude" xml:id="class.parallel-channel" role="class">
|
||||
|
||||
<title>A classe parallel\Channel</title>
|
||||
<titleabbrev>parallel\Channel</titleabbrev>
|
||||
@@ -9,45 +9,45 @@
|
||||
<partintro>
|
||||
<section>
|
||||
<title>Channels sem buffer</title>
|
||||
<para>
|
||||
<simpara>
|
||||
Um channel sem buffer bloqueará chamadas para <methodname>parallel\Channel::send</methodname> até que haja um receptor e bloqueará chamadas
|
||||
para <methodname>parallel\Channel::recv</methodname> até que haja um remetente. Isso significa que um channel sem buffer não é apenas uma forma de compartilhar dados entre tarefas,
|
||||
mas também um método simples de sincronização.
|
||||
</para>
|
||||
<para>
|
||||
</simpara>
|
||||
<simpara>
|
||||
Um channel sem buffer é a maneira mais rápida de compartilhar dados entre tarefas, exigindo menos cópias.
|
||||
</para>
|
||||
</simpara>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<title>Channels em buffer</title>
|
||||
<para>
|
||||
<simpara>
|
||||
m canal em buffer não bloqueará chamadas para <methodname>parallel\Channel::send</methodname> até que a capacidade seja atingida, chamadas para
|
||||
<methodname>parallel\Channel::recv</methodname> serão bloqueadas até que haja dados no buffer.
|
||||
</para>
|
||||
</simpara>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<title>Closures sobre Channels</title>
|
||||
<para>
|
||||
<simpara>
|
||||
Uma característica poderosa dos channels paralelos é que eles permitem a troca de closures entre tarefas (e tempos de execução).
|
||||
</para>
|
||||
<para>
|
||||
</simpara>
|
||||
<simpara>
|
||||
Quando um closure é enviado através de um channel, o closure é armazenado em buffer, isso não altera o buffer do channel que transmite o closure,
|
||||
mas afeta o escopo estático dentro do closure: O mesmo closure enviado para tempos de execução diferentes, ou o mesmo tempo de execução,
|
||||
não compartilharão seu escopo estático.
|
||||
</para>
|
||||
<para>
|
||||
</simpara>
|
||||
<simpara>
|
||||
Isso significa que sempre que for executado um closure transmitido por um channel, o estado estático será o mesmo de quando o closure foi armazenado em buffer.
|
||||
</para>
|
||||
</simpara>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<title>Channels Anônimos</title>
|
||||
<para>
|
||||
<simpara>
|
||||
O construtor de channel anônimo permite ao programador evitar atribuir nomes a cada channel: parallel gerará um nome exclusivo para
|
||||
channels anônimos.
|
||||
</para>
|
||||
</simpara>
|
||||
</section>
|
||||
|
||||
<section xml:id="parallel-channel.synopsis">
|
||||
@@ -68,22 +68,22 @@
|
||||
|
||||
<classsynopsisinfo role="comment">Construtor Anônimo</classsynopsisinfo>
|
||||
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.parallel-channel')/db:refentry/db:refsect1[@audience='anonymous']/descendant::db:methodsynopsis[not(@role='procedural')])">
|
||||
<xi:fallback />
|
||||
<xi:fallback/>
|
||||
</xi:include>
|
||||
|
||||
<classsynopsisinfo role="comment">Acesso</classsynopsisinfo>
|
||||
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.parallel-channel')/db:refentry/db:refsect1[@audience='access']/descendant::db:methodsynopsis[not(@role='procedural')])">
|
||||
<xi:fallback />
|
||||
<xi:fallback/>
|
||||
</xi:include>
|
||||
|
||||
<classsynopsisinfo role="comment">Compartilhamento</classsynopsisinfo>
|
||||
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.parallel-channel')/db:refentry/db:refsect1[@audience='sharing']/descendant::db:methodsynopsis[not(@role='procedural')])">
|
||||
<xi:fallback />
|
||||
<xi:fallback/>
|
||||
</xi:include>
|
||||
|
||||
<classsynopsisinfo role="comment">Encerramento</classsynopsisinfo>
|
||||
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.parallel-channel')/db:refentry/db:refsect1[@audience='close']/descendant::db:methodsynopsis[not(@role='procedural')])">
|
||||
<xi:fallback />
|
||||
<xi:fallback/>
|
||||
</xi:include>
|
||||
|
||||
<classsynopsisinfo role="comment">Constante para Buffer Infinito</classsynopsisinfo>
|
||||
@@ -107,7 +107,6 @@
|
||||
&reference.parallel.parallel.channel.close;
|
||||
|
||||
</reference>
|
||||
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: d9ecfba6ad07e4e0b1b13ed1f0592f09d2e2f5c9 Maintainer: fernandowobeto Status: ready --><!-- CREDITS: fernandowobeto -->
|
||||
|
||||
<reference xml:id="class.parallel-events-event" role="class" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
<!-- EN-Revision: 57c7669a1f5336cb17413e0b46540c52c77ee84f Maintainer: fernandowobeto Status: ready -->
|
||||
<!-- CREDITS: fernandowobeto -->
|
||||
<reference xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude" xml:id="class.parallel-events-event" role="class">
|
||||
|
||||
<title>A classe parallel\Events\Event</title>
|
||||
<titleabbrev>parallel\Events\Event</titleabbrev>
|
||||
@@ -10,10 +10,10 @@
|
||||
|
||||
<section>
|
||||
<title>Objetos Event</title>
|
||||
<para>
|
||||
<simpara>
|
||||
Quando um Event é retornado, <varname>Event::$object</varname> deve ser removido do loop que o retornou, caso o evento seja um evento de gravação,
|
||||
o <classname>Input</classname> para <varname>Event::$source</varname> também será removido.
|
||||
</para>
|
||||
</simpara>
|
||||
</section>
|
||||
<section xml:id="parallel-events-event.synopsis">
|
||||
&reftitle.classsynopsis;
|
||||
@@ -66,7 +66,6 @@
|
||||
</partintro>
|
||||
|
||||
</reference>
|
||||
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: d9ecfba6ad07e4e0b1b13ed1f0592f09d2e2f5c9 Maintainer: fernandowobeto Status: ready --><!-- CREDITS: fernandowobeto -->
|
||||
|
||||
<reference xml:id="class.parallel-events-input" role="class" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
<!-- EN-Revision: 57c7669a1f5336cb17413e0b46540c52c77ee84f Maintainer: fernandowobeto Status: ready -->
|
||||
<!-- CREDITS: fernandowobeto -->
|
||||
<reference xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude" xml:id="class.parallel-events-input" role="class">
|
||||
|
||||
<title>A classe parallel\Events\Input</title>
|
||||
<titleabbrev>parallel\Events\Input</titleabbrev>
|
||||
@@ -10,16 +10,16 @@
|
||||
|
||||
<section>
|
||||
<title>Eventos Input</title>
|
||||
<para>
|
||||
<simpara>
|
||||
Um objeto Input é um contêiner para dados que o objeto <classname>parallel\Events</classname> gravará nos objetos
|
||||
<classname>parallel\Channel</classname> à medida que se tornarem disponíveis. Vários loops de eventos podem compartilhar um contêiner de Input - parallel não
|
||||
verifica o conteúdo do contêiner quando ele é definido como entrada para um objeto <classname>parallel\Events</classname>.
|
||||
</para>
|
||||
</simpara>
|
||||
<note>
|
||||
<para>
|
||||
<simpara>
|
||||
Quando um objeto <classname>parallel\Events</classname> executa uma gravação, o destino é removido do objeto de entrada como se
|
||||
<methodname>parallel\Events\Input::remove</methodname> fosse chamado.
|
||||
</para>
|
||||
</simpara>
|
||||
</note>
|
||||
</section>
|
||||
|
||||
@@ -40,13 +40,13 @@
|
||||
<!-- }}} -->
|
||||
|
||||
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.parallel-events-input')/db:refentry/db:refsect1[@audience='adding']/descendant::db:methodsynopsis[not(@role='procedural')])">
|
||||
<xi:fallback />
|
||||
<xi:fallback/>
|
||||
</xi:include>
|
||||
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.parallel-events-input')/db:refentry/db:refsect1[@audience='removing']/descendant::db:methodsynopsis[not(@role='procedural')])">
|
||||
<xi:fallback />
|
||||
<xi:fallback/>
|
||||
</xi:include>
|
||||
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.parallel-events-input')/db:refentry/db:refsect1[@audience='clearing']/descendant::db:methodsynopsis[not(@role='procedural')])">
|
||||
<xi:fallback />
|
||||
<xi:fallback/>
|
||||
</xi:include>
|
||||
|
||||
</classsynopsis>
|
||||
@@ -59,7 +59,6 @@
|
||||
&reference.parallel.parallel.entities.input;
|
||||
|
||||
</reference>
|
||||
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: d9ecfba6ad07e4e0b1b13ed1f0592f09d2e2f5c9 Maintainer: fernandowobeto Status: ready --><!-- CREDITS: fernandowobeto -->
|
||||
|
||||
<reference xml:id="class.parallel-events" role="class" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
<!-- EN-Revision: 57c7669a1f5336cb17413e0b46540c52c77ee84f Maintainer: fernandowobeto Status: ready -->
|
||||
<!-- CREDITS: fernandowobeto -->
|
||||
<reference xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude" xml:id="class.parallel-events" role="class">
|
||||
|
||||
<title>A classe parallel\Events</title>
|
||||
<titleabbrev>parallel\Events</titleabbrev>
|
||||
@@ -9,9 +9,9 @@
|
||||
<partintro>
|
||||
<section>
|
||||
<title>O loop de eventos</title>
|
||||
<para>
|
||||
<simpara>
|
||||
O loop de eventos monitora o estado de conjuntos de futures e/ou channels (targets) para realizar a leitura (<methodname>parallel\Future::value</methodname>, <methodname>parallel\Channel::recv</methodname>) e escreva operações (<methodname>parallel\Channel::send</methodname>) à medida que os destinos se tornam disponíveis e as operações podem ser executadas sem bloquear o loop de eventos.
|
||||
</para>
|
||||
</simpara>
|
||||
</section>
|
||||
<section xml:id="parallel-events.synopsis">
|
||||
&reftitle.classsynopsis;
|
||||
@@ -37,22 +37,22 @@
|
||||
|
||||
<classsynopsisinfo role="comment">Input</classsynopsisinfo>
|
||||
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.parallel-events')/db:refentry/db:refsect1[@audience='input']/descendant::db:methodsynopsis[not(@role='procedural')])">
|
||||
<xi:fallback />
|
||||
<xi:fallback/>
|
||||
</xi:include>
|
||||
|
||||
<classsynopsisinfo role="comment">Targets</classsynopsisinfo>
|
||||
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.parallel-events')/db:refentry/db:refsect1[@audience='targets']/descendant::db:methodsynopsis[not(@role='procedural')])">
|
||||
<xi:fallback />
|
||||
<xi:fallback/>
|
||||
</xi:include>
|
||||
|
||||
<classsynopsisinfo role="comment">Behaviour</classsynopsisinfo>
|
||||
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.parallel-events')/db:refentry/db:refsect1[@audience='behaviour']/descendant::db:methodsynopsis[not(@role='procedural')])">
|
||||
<xi:fallback />
|
||||
<xi:fallback/>
|
||||
</xi:include>
|
||||
|
||||
<classsynopsisinfo role="comment">Polling</classsynopsisinfo>
|
||||
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.parallel-events')/db:refentry/db:refsect1[@audience='polling']/descendant::db:methodsynopsis[not(@role='procedural')])">
|
||||
<xi:fallback />
|
||||
<xi:fallback/>
|
||||
</xi:include>
|
||||
</classsynopsis>
|
||||
<!-- }}} -->
|
||||
@@ -70,7 +70,6 @@
|
||||
&reference.parallel.parallel.events.poll;
|
||||
|
||||
</reference>
|
||||
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: a31156c3d8e98d9d8d0d82cab7e37407a4f75f63 Maintainer: fernandowobeto Status: ready --><!-- CREDITS: fernandowobeto -->
|
||||
|
||||
<reference xml:id="class.parallel-future" role="class" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
<!-- EN-Revision: 57c7669a1f5336cb17413e0b46540c52c77ee84f Maintainer: fernandowobeto Status: ready -->
|
||||
<!-- CREDITS: fernandowobeto -->
|
||||
<reference xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude" xml:id="class.parallel-future" role="class">
|
||||
|
||||
<title>A classe parallel\Future</title>
|
||||
<titleabbrev>parallel\Future</titleabbrev>
|
||||
@@ -10,9 +10,9 @@
|
||||
|
||||
<section>
|
||||
<title>Futures</title>
|
||||
<para>
|
||||
<simpara>
|
||||
Um Future representa o valor de retorno ou exceção não detectada de uma tarefa e expõe uma API para cancelamento.
|
||||
</para>
|
||||
</simpara>
|
||||
<example>
|
||||
<title>Exemplo mostrando Future como valor de retorno</title>
|
||||
<programlisting role="php">
|
||||
@@ -33,9 +33,9 @@ Olá Mundo
|
||||
]]>
|
||||
</screen>
|
||||
</example>
|
||||
<para>
|
||||
<simpara>
|
||||
O comportamento de um future também permite que ele seja usado como um simples ponto de sincronização mesmo quando a tarefa não retorna um valor explicitamente.
|
||||
</para>
|
||||
</simpara>
|
||||
<example>
|
||||
<title>Exemplo mostrando Future como ponto de sincronização</title>
|
||||
<programlisting role="php">
|
||||
@@ -85,17 +85,17 @@ pai continua
|
||||
|
||||
<classsynopsisinfo role="comment">Resolution</classsynopsisinfo>
|
||||
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.parallel-future')/db:refentry/db:refsect1[@audience='resolution']/descendant::db:methodsynopsis[not(@role='procedural')])">
|
||||
<xi:fallback />
|
||||
<xi:fallback/>
|
||||
</xi:include>
|
||||
|
||||
<classsynopsisinfo role="comment">State</classsynopsisinfo>
|
||||
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.parallel-future')/db:refentry/db:refsect1[@audience='state']/descendant::db:methodsynopsis[not(@role='procedural')])">
|
||||
<xi:fallback />
|
||||
<xi:fallback/>
|
||||
</xi:include>
|
||||
|
||||
<classsynopsisinfo role="comment">Cancellation</classsynopsisinfo>
|
||||
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.parallel-future')/db:refentry/db:refsect1[@audience='cancellation']/descendant::db:methodsynopsis[not(@role='procedural')])">
|
||||
<xi:fallback />
|
||||
<xi:fallback/>
|
||||
</xi:include>
|
||||
|
||||
</classsynopsis>
|
||||
@@ -108,7 +108,6 @@ pai continua
|
||||
&reference.parallel.parallel.entities.future;
|
||||
|
||||
</reference>
|
||||
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: d0da6acae85277454b0f27f1fb208040173ec234 Maintainer: fernandowobeto Status: ready --><!-- CREDITS: fernandowobeto -->
|
||||
|
||||
<reference xml:id="class.parallel-runtime" role="class" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
<!-- EN-Revision: 57c7669a1f5336cb17413e0b46540c52c77ee84f Maintainer: fernandowobeto Status: ready -->
|
||||
<!-- CREDITS: fernandowobeto -->
|
||||
<reference xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude" xml:id="class.parallel-runtime" role="class">
|
||||
|
||||
<title>A classe parallel\Runtime</title>
|
||||
<titleabbrev>parallel\Runtime</titleabbrev>
|
||||
@@ -10,31 +10,31 @@
|
||||
|
||||
<section>
|
||||
<title>Runtime Objects</title>
|
||||
<para>
|
||||
<simpara>
|
||||
Cada tempo de execução representa um único thread PHP, o thread é criado (e inicializado) durante a construção.
|
||||
O thread então espera que as tarefas sejam agendadas: As tarefas agendadas serão executadas FIFO e então o thread continuará esperando até
|
||||
que mais tarefas sejam agendadas ou seja fechado, eliminado ou destruído pelas regras normais de escopo dos objetos PHP.
|
||||
</para>
|
||||
</simpara>
|
||||
<warning>
|
||||
<para>
|
||||
<simpara>
|
||||
Quando um tempo de execução é destruído pelas regras normais de escopo de objetos PHP, ele primeiro executará todas as tarefas que foram agendadas
|
||||
e bloqueará ao fazê-lo.
|
||||
</para>
|
||||
</simpara>
|
||||
</warning>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<title>Bootstrapping em tempo de execução</title>
|
||||
<para>
|
||||
<simpara>
|
||||
Quando um novo tempo de execução é criado, ele não compartilha código com o thread (ou processo) que o criou. Isso significa que ele não possui as mesmas
|
||||
classes e funções carregadas, nem o mesmo conjunto de autoloader. Em alguns casos, um tempo de execução muito leve é desejável porque as tarefas que
|
||||
serão agendadas não precisam de acesso ao código no thread pai. Nos casos em que as tarefas precisam acessar o mesmo código, basta
|
||||
definir um autoloader como bootstrap.
|
||||
</para>
|
||||
</simpara>
|
||||
<note>
|
||||
<para>
|
||||
<simpara>
|
||||
preloading pode ser usado em conjunto com o parallel; neste caso, o código pré-carregado está disponível sem inicialização
|
||||
</para>
|
||||
</simpara>
|
||||
</note>
|
||||
</section>
|
||||
|
||||
@@ -56,17 +56,17 @@
|
||||
|
||||
<classsynopsisinfo role="comment">Create</classsynopsisinfo>
|
||||
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.parallel-runtime')/db:refentry/db:refsect1[@audience='create']/descendant::db:constructorsynopsis[not(@role='procedural')])">
|
||||
<xi:fallback />
|
||||
<xi:fallback/>
|
||||
</xi:include>
|
||||
|
||||
<classsynopsisinfo role="comment">Execute</classsynopsisinfo>
|
||||
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.parallel-runtime')/db:refentry/db:refsect1[@audience='execute']/descendant::db:methodsynopsis[not(@role='procedural')])">
|
||||
<xi:fallback />
|
||||
<xi:fallback/>
|
||||
</xi:include>
|
||||
|
||||
<classsynopsisinfo role="comment">Join</classsynopsisinfo>
|
||||
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.parallel-runtime')/db:refentry/db:refsect1[@audience='join']/descendant::db:methodsynopsis[not(@role='procedural')])">
|
||||
<xi:fallback />
|
||||
<xi:fallback/>
|
||||
</xi:include>
|
||||
</classsynopsis>
|
||||
<!-- }}} -->
|
||||
@@ -81,7 +81,6 @@
|
||||
&reference.parallel.parallel.runtime.kill;
|
||||
|
||||
</reference>
|
||||
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: 0997ae3510683f23a1d6dc675ddc0f689e411d90 Maintainer: fernandowobeto Status: ready --><!-- CREDITS: fernandowobeto -->
|
||||
|
||||
<reference xml:id="class.parallel-sync" role="class" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
<!-- EN-Revision: 57c7669a1f5336cb17413e0b46540c52c77ee84f Maintainer: fernandowobeto Status: ready -->
|
||||
<!-- CREDITS: fernandowobeto -->
|
||||
<reference xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude" xml:id="class.parallel-sync" role="class">
|
||||
|
||||
<title>A classe parallel\Sync</title>
|
||||
<titleabbrev>parallel\Sync</titleabbrev>
|
||||
@@ -9,14 +9,14 @@
|
||||
<partintro>
|
||||
<section>
|
||||
<title>Sincronização de baixo nível</title>
|
||||
<para>
|
||||
<simpara>
|
||||
A classe <classname>parallel\Sync</classname> fornece acesso a sincronização primitiva de baixo nível, mutex, variáveis de condição e permite a implementação de semáforos.
|
||||
</para>
|
||||
</simpara>
|
||||
|
||||
<para>
|
||||
<simpara>
|
||||
A sincronização para a maioria das aplicações é muito melhor implementada usando canais; no entanto, em alguns casos, os autores de código de baixo nível podem achar útil poder acessar
|
||||
esses mecanismos de nível inferior.
|
||||
</para>
|
||||
</simpara>
|
||||
|
||||
</section>
|
||||
|
||||
@@ -38,17 +38,17 @@
|
||||
|
||||
<classsynopsisinfo role="comment">Constructor</classsynopsisinfo>
|
||||
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.parallel-sync')/db:refentry/db:refsect1[@audience='construction']/descendant::db:methodsynopsis[not(@role='procedural')])">
|
||||
<xi:fallback />
|
||||
<xi:fallback/>
|
||||
</xi:include>
|
||||
|
||||
<classsynopsisinfo role="comment">Access</classsynopsisinfo>
|
||||
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.parallel-sync')/db:refentry/db:refsect1[@audience='access']/descendant::db:methodsynopsis[not(@role='procedural')])">
|
||||
<xi:fallback />
|
||||
<xi:fallback/>
|
||||
</xi:include>
|
||||
|
||||
<classsynopsisinfo role="comment">Synchronization</classsynopsisinfo>
|
||||
<xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.parallel-sync')/db:refentry/db:refsect1[@audience='synchronization']/descendant::db:methodsynopsis[not(@role='procedural')])">
|
||||
<xi:fallback />
|
||||
<xi:fallback/>
|
||||
</xi:include>
|
||||
|
||||
</classsynopsis>
|
||||
@@ -66,7 +66,6 @@
|
||||
&reference.parallel.parallel.sync.invoke;
|
||||
|
||||
</reference>
|
||||
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: 52bf027d4cb01fee7d4e33095d3c5ecd6f76fff1 Maintainer: leonardolara Status: ready -->
|
||||
|
||||
<refentry xml:id="parallel-channel.close" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!-- EN-Revision: 57c7669a1f5336cb17413e0b46540c52c77ee84f Maintainer: leonardolara Status: ready -->
|
||||
<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="parallel-channel.close">
|
||||
<refnamediv>
|
||||
<refname>parallel\Channel::close</refname>
|
||||
<refpurpose>Fechamento</refpurpose>
|
||||
@@ -11,25 +10,24 @@
|
||||
&reftitle.description;
|
||||
<methodsynopsis>
|
||||
<modifier>public</modifier> <type>void</type><methodname>parallel\Channel::close</methodname>
|
||||
<void />
|
||||
<void/>
|
||||
</methodsynopsis>
|
||||
<para>
|
||||
<simpara>
|
||||
Fecha o canal.
|
||||
</para>
|
||||
</simpara>
|
||||
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="exceptions">
|
||||
<title>Exceptions</title>
|
||||
<warning>
|
||||
<para>
|
||||
<simpara>
|
||||
Lança uma exceção <type>parallel\Channel\Error\Closed</type> se o canal estiver fechado.
|
||||
</para>
|
||||
</simpara>
|
||||
</warning>
|
||||
</refsect1>
|
||||
|
||||
</refentry>
|
||||
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: d9ecfba6ad07e4e0b1b13ed1f0592f09d2e2f5c9 Maintainer: leonardolara Status: ready -->
|
||||
|
||||
<refentry xml:id="parallel-channel.construct" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!-- EN-Revision: 57c7669a1f5336cb17413e0b46540c52c77ee84f Maintainer: leonardolara Status: ready -->
|
||||
<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="parallel-channel.construct">
|
||||
<refnamediv>
|
||||
<refname>parallel\Channel::__construct</refname>
|
||||
<refpurpose>Construção de canal</refpurpose>
|
||||
@@ -13,16 +12,16 @@
|
||||
<modifier>public</modifier> <methodname>parallel\Channel::__construct</methodname>
|
||||
<void/>
|
||||
</methodsynopsis>
|
||||
<para>
|
||||
<simpara>
|
||||
Constrói um canal anônimo sem buffer.
|
||||
</para>
|
||||
</simpara>
|
||||
<methodsynopsis>
|
||||
<modifier>public</modifier> <methodname>parallel\Channel::__construct</methodname>
|
||||
<methodparam><type>int</type><parameter>capacity</parameter></methodparam>
|
||||
</methodsynopsis>
|
||||
<para>
|
||||
<simpara>
|
||||
Constrói um canal anônimo sem buffer com a capacidade informada.
|
||||
</para>
|
||||
</simpara>
|
||||
|
||||
</refsect1>
|
||||
|
||||
@@ -32,16 +31,15 @@
|
||||
<varlistentry>
|
||||
<term><parameter>capacity</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
<simpara>
|
||||
Pode ser <type>Channel::Infinite</type> ou um inteiro positivo.
|
||||
</para>
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
|
||||
</refentry>
|
||||
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: 52bf027d4cb01fee7d4e33095d3c5ecd6f76fff1 Maintainer: leonardolara Status: ready -->
|
||||
|
||||
<refentry xml:id="parallel-channel.make" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!-- EN-Revision: 57c7669a1f5336cb17413e0b46540c52c77ee84f Maintainer: leonardolara Status: ready -->
|
||||
<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="parallel-channel.make">
|
||||
<refnamediv>
|
||||
<refname>parallel\Channel::make</refname>
|
||||
<refpurpose>Construção de canal</refpurpose>
|
||||
@@ -13,17 +12,17 @@
|
||||
<modifier>public</modifier> <type>Channel</type><methodname>parallel\Channel::make</methodname>
|
||||
<methodparam><type>string</type><parameter>name</parameter></methodparam>
|
||||
</methodsynopsis>
|
||||
<para>
|
||||
<simpara>
|
||||
Constrói um canal sem buffer com o nome informado.
|
||||
</para>
|
||||
</simpara>
|
||||
<methodsynopsis>
|
||||
<modifier>public</modifier> <type>Channel</type><methodname>parallel\Channel::make</methodname>
|
||||
<methodparam><type>string</type><parameter>name</parameter></methodparam>
|
||||
<methodparam><type>int</type><parameter>capacity</parameter></methodparam>
|
||||
</methodsynopsis>
|
||||
<para>
|
||||
<simpara>
|
||||
Constrói um canal sem buffer com o nome e a capacidade informados.
|
||||
</para>
|
||||
</simpara>
|
||||
|
||||
</refsect1>
|
||||
|
||||
@@ -33,17 +32,17 @@
|
||||
<varlistentry>
|
||||
<term><parameter>name</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
<simpara>
|
||||
O nome do canal.
|
||||
</para>
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>capacity</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
<simpara>
|
||||
Pode ser <type>Channel::Infinite</type> ou um inteiro positivo.
|
||||
</para>
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
@@ -52,14 +51,13 @@
|
||||
<refsect1 role="exceptions">
|
||||
<title>Exceptions</title>
|
||||
<warning>
|
||||
<para>
|
||||
<simpara>
|
||||
Lança uma exceção <type>parallel\Channel\Error\Existence</type> se o canal já existir.
|
||||
</para>
|
||||
</simpara>
|
||||
</warning>
|
||||
</refsect1>
|
||||
|
||||
</refentry>
|
||||
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: 52bf027d4cb01fee7d4e33095d3c5ecd6f76fff1 Maintainer: leonardolara Status: ready -->
|
||||
|
||||
<refentry xml:id="parallel-channel.open" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!-- EN-Revision: 57c7669a1f5336cb17413e0b46540c52c77ee84f Maintainer: leonardolara Status: ready -->
|
||||
<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="parallel-channel.open">
|
||||
<refnamediv>
|
||||
<refname>parallel\Channel::open</refname>
|
||||
<refpurpose>Acesso</refpurpose>
|
||||
@@ -13,23 +12,22 @@
|
||||
<modifier>public</modifier> <type>Channel</type><methodname>parallel\Channel::open</methodname>
|
||||
<methodparam><type>string</type><parameter>name</parameter></methodparam>
|
||||
</methodsynopsis>
|
||||
<para>
|
||||
<simpara>
|
||||
Abre o canal com o nome especificado.
|
||||
</para>
|
||||
</simpara>
|
||||
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="exceptions">
|
||||
<title>Exceptions</title>
|
||||
<warning>
|
||||
<para>
|
||||
<simpara>
|
||||
Lança uma exceção <type>parallel\Channel\Error\Existence</type> se o canal não existir.
|
||||
</para>
|
||||
</simpara>
|
||||
</warning>
|
||||
</refsect1>
|
||||
|
||||
</refentry>
|
||||
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: 52bf027d4cb01fee7d4e33095d3c5ecd6f76fff1 Maintainer: leonardolara Status: ready -->
|
||||
|
||||
<refentry xml:id="parallel-channel.recv" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!-- EN-Revision: 57c7669a1f5336cb17413e0b46540c52c77ee84f Maintainer: leonardolara Status: ready -->
|
||||
<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="parallel-channel.recv">
|
||||
<refnamediv>
|
||||
<refname>parallel\Channel::recv</refname>
|
||||
<refpurpose>Compartilhamento</refpurpose>
|
||||
@@ -11,25 +10,24 @@
|
||||
&reftitle.description;
|
||||
<methodsynopsis>
|
||||
<modifier>public</modifier> <type>mixed</type><methodname>parallel\Channel::recv</methodname>
|
||||
<void />
|
||||
<void/>
|
||||
</methodsynopsis>
|
||||
<para>
|
||||
<simpara>
|
||||
Recebe um valor deste canal.
|
||||
</para>
|
||||
</simpara>
|
||||
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="exceptions">
|
||||
<title>Exceptions</title>
|
||||
<warning>
|
||||
<para>
|
||||
<simpara>
|
||||
Lança uma exceção <type>parallel\Channel\Error\Closed</type> se o canal estiver fechado.
|
||||
</para>
|
||||
</simpara>
|
||||
</warning>
|
||||
</refsect1>
|
||||
|
||||
</refentry>
|
||||
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: 52bf027d4cb01fee7d4e33095d3c5ecd6f76fff1 Maintainer: leonardolara Status: ready -->
|
||||
|
||||
<refentry xml:id="parallel-channel.send" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!-- EN-Revision: 57c7669a1f5336cb17413e0b46540c52c77ee84f Maintainer: leonardolara Status: ready -->
|
||||
<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="parallel-channel.send">
|
||||
<refnamediv>
|
||||
<refname>parallel\Channel::send</refname>
|
||||
<refpurpose>Compartilhamento</refpurpose>
|
||||
@@ -13,28 +12,27 @@
|
||||
<modifier>public</modifier> <type>void</type><methodname>parallel\Channel::send</methodname>
|
||||
<methodparam><type>mixed</type><parameter>value</parameter></methodparam>
|
||||
</methodsynopsis>
|
||||
<para>
|
||||
<simpara>
|
||||
Envia neste canal o valor informado.
|
||||
</para>
|
||||
</simpara>
|
||||
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="exceptions">
|
||||
<title>Exceptions</title>
|
||||
<warning>
|
||||
<para>
|
||||
<simpara>
|
||||
Lança uma exceção <type>parallel\Channel\Error\Closed</type> se o canal estiver fechado.
|
||||
</para>
|
||||
</simpara>
|
||||
</warning>
|
||||
<warning>
|
||||
<para>
|
||||
<simpara>
|
||||
Lança uma exceção <type>parallel\Channel\Error\IllegalValue</type> se o valor for ilegal.
|
||||
</para>
|
||||
</simpara>
|
||||
</warning>
|
||||
</refsect1>
|
||||
|
||||
</refentry>
|
||||
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: 52bf027d4cb01fee7d4e33095d3c5ecd6f76fff1 Maintainer: leonardolara Status: ready -->
|
||||
|
||||
<refentry xml:id="parallel-events.addchannel" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!-- EN-Revision: 57c7669a1f5336cb17413e0b46540c52c77ee84f Maintainer: leonardolara Status: ready -->
|
||||
<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="parallel-events.addchannel">
|
||||
<refnamediv>
|
||||
<refname>parallel\Events::addChannel</refname>
|
||||
<refpurpose>Alvos</refpurpose>
|
||||
@@ -13,22 +12,21 @@
|
||||
<modifier>public</modifier> <type>void</type><methodname>parallel\Events::addChannel</methodname>
|
||||
<methodparam><type>parallel\Channel</type><parameter>channel</parameter></methodparam>
|
||||
</methodsynopsis>
|
||||
<para>
|
||||
<simpara>
|
||||
Observa eventos no canal informado em <parameter>channel</parameter>.
|
||||
</para>
|
||||
</simpara>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="exceptions">
|
||||
<title>Exceptions</title>
|
||||
<warning>
|
||||
<para>
|
||||
<simpara>
|
||||
Lança uma exceção <type>parallel\Events\Error\Existence</type> se o canal já tiver sido adicionado.
|
||||
</para>
|
||||
</simpara>
|
||||
</warning>
|
||||
</refsect1>
|
||||
|
||||
</refentry>
|
||||
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: 52bf027d4cb01fee7d4e33095d3c5ecd6f76fff1 Maintainer: leonardolara Status: ready -->
|
||||
|
||||
<refentry xml:id="parallel-events.addfuture" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!-- EN-Revision: 57c7669a1f5336cb17413e0b46540c52c77ee84f Maintainer: leonardolara Status: ready -->
|
||||
<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="parallel-events.addfuture">
|
||||
<refnamediv>
|
||||
<refname>parallel\Events::addFuture</refname>
|
||||
<refpurpose>Alvos</refpurpose>
|
||||
@@ -14,22 +13,21 @@
|
||||
<methodparam><type>string</type><parameter>name</parameter></methodparam>
|
||||
<methodparam><type>parallel\Future</type><parameter>future</parameter></methodparam>
|
||||
</methodsynopsis>
|
||||
<para>
|
||||
<simpara>
|
||||
Observa eventos no <parameter>future</parameter> informado.
|
||||
</para>
|
||||
</simpara>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="exceptions">
|
||||
<title>Exceptions</title>
|
||||
<warning>
|
||||
<para>
|
||||
<simpara>
|
||||
Lança uma exceção <type>parallel\Events\Error\Existence</type> se o alvo com o nome informado já tiver sido adicionado.
|
||||
</para>
|
||||
</simpara>
|
||||
</warning>
|
||||
</refsect1>
|
||||
|
||||
</refentry>
|
||||
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: 5d927c376e2d53433ff435eea53e546b51d9834b Maintainer: leonardolara Status: ready -->
|
||||
|
||||
<refentry xml:id="parallel-events.poll" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!-- EN-Revision: 57c7669a1f5336cb17413e0b46540c52c77ee84f Maintainer: leonardolara Status: ready -->
|
||||
<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="parallel-events.poll">
|
||||
<refnamediv>
|
||||
<refname>parallel\Events::poll</refname>
|
||||
<refpurpose>Pesquisa</refpurpose>
|
||||
@@ -11,37 +10,36 @@
|
||||
&reftitle.description;
|
||||
<methodsynopsis>
|
||||
<modifier>public</modifier> <type class="union"><type>parallel\Events\Event</type><type>null</type></type><methodname>parallel\Events::poll</methodname>
|
||||
<void />
|
||||
<void/>
|
||||
</methodsynopsis>
|
||||
<para>
|
||||
<simpara>
|
||||
Pesquisa pelo próximo evento.
|
||||
</para>
|
||||
</simpara>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="returnvalues">
|
||||
&reftitle.returnvalues;
|
||||
<para>
|
||||
<simpara>
|
||||
Caso não haja alvos restantes, &null; será retornado.
|
||||
</para>
|
||||
<para>
|
||||
</simpara>
|
||||
<simpara>
|
||||
Caso este seja um laço não bloqueante e ocorra bloqueio, &null; deverá ser retornado.
|
||||
</para>
|
||||
<para>
|
||||
</simpara>
|
||||
<simpara>
|
||||
Caso contrário, o <classname>parallel\Events\Event</classname> retornado descreve o evento.
|
||||
</para>
|
||||
</simpara>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="exceptions">
|
||||
<title>Exceptions</title>
|
||||
<warning>
|
||||
<para>
|
||||
<simpara>
|
||||
Lança uma exceção <type>parallel\Events\Error\Timeout</type> se o tempo limite for usado e tiver sido alcançado.
|
||||
</para>
|
||||
</simpara>
|
||||
</warning>
|
||||
</refsect1>
|
||||
|
||||
</refentry>
|
||||
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: 52bf027d4cb01fee7d4e33095d3c5ecd6f76fff1 Maintainer: leonardolara Status: ready -->
|
||||
|
||||
<refentry xml:id="parallel-events.remove" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!-- EN-Revision: 57c7669a1f5336cb17413e0b46540c52c77ee84f Maintainer: leonardolara Status: ready -->
|
||||
<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="parallel-events.remove">
|
||||
<refnamediv>
|
||||
<refname>parallel\Events::remove</refname>
|
||||
<refpurpose>Alvos</refpurpose>
|
||||
@@ -13,22 +12,21 @@
|
||||
<modifier>public</modifier> <type>void</type><methodname>parallel\Events::remove</methodname>
|
||||
<methodparam><type>string</type><parameter>target</parameter></methodparam>
|
||||
</methodsynopsis>
|
||||
<para>
|
||||
<simpara>
|
||||
Remove o alvo informado em <parameter>target</parameter>.
|
||||
</para>
|
||||
</simpara>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="exceptions">
|
||||
<title>Exceptions</title>
|
||||
<warning>
|
||||
<para>
|
||||
<simpara>
|
||||
Lança uma exceção <type>parallel\Events\Error\Existence</type> se o alvo com o nome informado não for encontrado.
|
||||
</para>
|
||||
</simpara>
|
||||
</warning>
|
||||
</refsect1>
|
||||
|
||||
</refentry>
|
||||
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: 5d927c376e2d53433ff435eea53e546b51d9834b Maintainer: leonardolara Status: ready -->
|
||||
|
||||
<refentry xml:id="parallel-events.setblocking" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!-- EN-Revision: 57c7669a1f5336cb17413e0b46540c52c77ee84f Maintainer: leonardolara Status: ready -->
|
||||
<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="parallel-events.setblocking">
|
||||
<refnamediv>
|
||||
<refname>parallel\Events::setBlocking</refname>
|
||||
<refpurpose>Comportamento</refpurpose>
|
||||
@@ -9,37 +8,36 @@
|
||||
|
||||
<refsect1 role="description" audience="behaviour">
|
||||
&reftitle.description;
|
||||
<para>
|
||||
<simpara>
|
||||
Por padrão, quando eventos são pesquisados, o bloqueio ocorrerá (no nível do PHP) até que o primeiro evento possa ser retornado: definir o modo de bloqueio como &false; fará com que
|
||||
a pesquisa retorne o controle se o primeiro alvo pesquisado não estiver pronto.
|
||||
</para>
|
||||
<para>
|
||||
</simpara>
|
||||
<simpara>
|
||||
Isso difere de definir um tempo limite de 0 com <methodname>parallel\Events::setTimeout</methodname>, pois um tempo limite de 0, embora permitido, fará com que uma exceção seja gerada,
|
||||
o que pode ser extremamente lento ou um desperdício se o que realmente se deseja é um comportamento não bloqueante.
|
||||
</para>
|
||||
<para>
|
||||
</simpara>
|
||||
<simpara>
|
||||
Um laço não bloqueante afeta o valor de retorno de <methodname>parallel\Events::poll</methodname>, de modo que ele pode ser &null; antes que todos os eventos tenham sido processados.
|
||||
</para>
|
||||
</simpara>
|
||||
<methodsynopsis>
|
||||
<modifier>public</modifier> <type>void</type><methodname>parallel\Events::setBlocking</methodname>
|
||||
<methodparam><type>bool</type><parameter>blocking</parameter></methodparam>
|
||||
</methodsynopsis>
|
||||
<para>
|
||||
<simpara>
|
||||
Define o modo de bloqueio.
|
||||
</para>
|
||||
</simpara>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="exceptions">
|
||||
<title>Exceptions</title>
|
||||
<warning>
|
||||
<para>
|
||||
<simpara>
|
||||
Lança uma exceção <type>parallel\Events\Error</type> se o laço tiver tempo limite definido.
|
||||
</para>
|
||||
</simpara>
|
||||
</warning>
|
||||
</refsect1>
|
||||
|
||||
</refentry>
|
||||
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: d9ecfba6ad07e4e0b1b13ed1f0592f09d2e2f5c9 Maintainer: leonardolara Status: ready -->
|
||||
|
||||
<refentry xml:id="parallel-events.setinput" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!-- EN-Revision: 57c7669a1f5336cb17413e0b46540c52c77ee84f Maintainer: leonardolara Status: ready -->
|
||||
<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="parallel-events.setinput">
|
||||
<refnamediv>
|
||||
<refname>parallel\Events::setInput</refname>
|
||||
<refpurpose>Entrada</refpurpose>
|
||||
@@ -13,13 +12,12 @@
|
||||
<modifier>public</modifier> <type>void</type><methodname>parallel\Events::setInput</methodname>
|
||||
<methodparam><type>Input</type><parameter>input</parameter></methodparam>
|
||||
</methodsynopsis>
|
||||
<para>
|
||||
<simpara>
|
||||
Define a entrada informada em <parameter>input</parameter> para este laço de evento.
|
||||
</para>
|
||||
</simpara>
|
||||
</refsect1>
|
||||
|
||||
</refentry>
|
||||
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: 5d927c376e2d53433ff435eea53e546b51d9834b Maintainer: leonardolara Status: ready -->
|
||||
|
||||
<refentry xml:id="parallel-events.settimeout" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!-- EN-Revision: 57c7669a1f5336cb17413e0b46540c52c77ee84f Maintainer: leonardolara Status: ready -->
|
||||
<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="parallel-events.settimeout">
|
||||
<refnamediv>
|
||||
<refname>parallel\Events::setTimeout</refname>
|
||||
<refpurpose>Comportamento</refpurpose>
|
||||
@@ -9,33 +8,32 @@
|
||||
|
||||
<refsect1 role="description" audience="behaviour">
|
||||
&reftitle.description;
|
||||
<para>
|
||||
<simpara>
|
||||
Por padrão, quando eventos são pesquisados, o bloqueio ocorrerá (no nível do PHP) até que o primeiro evento possa ser retornado: Definir o tempo limite faz com que uma exceção seja
|
||||
gerada quando o tempo limite for atingido.
|
||||
</para>
|
||||
<para>
|
||||
</simpara>
|
||||
<simpara>
|
||||
Isso é diferente de definir o modo de bloqueio como &false; com <methodname>parallel\Events::setBlocking</methodname>, o que não causará o lançamento de uma exceção.
|
||||
</para>
|
||||
</simpara>
|
||||
<methodsynopsis>
|
||||
<modifier>public</modifier> <type>void</type><methodname>parallel\Events::setTimeout</methodname>
|
||||
<methodparam><type>int</type><parameter>timeout</parameter></methodparam>
|
||||
</methodsynopsis>
|
||||
<para>
|
||||
<simpara>
|
||||
Define o limite de tempo em microssegundos.
|
||||
</para>
|
||||
</simpara>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="exceptions">
|
||||
<title>Exceções</title>
|
||||
<warning>
|
||||
<para>
|
||||
<simpara>
|
||||
Lança uma exceção <type>parallel\Events\Error</type> se o laço for não bloqueante.
|
||||
</para>
|
||||
</simpara>
|
||||
</warning>
|
||||
</refsect1>
|
||||
|
||||
</refentry>
|
||||
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: 52bf027d4cb01fee7d4e33095d3c5ecd6f76fff1 Maintainer: leonardolara Status: ready -->
|
||||
|
||||
<refentry xml:id="parallel-future.cancel" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!-- EN-Revision: 57c7669a1f5336cb17413e0b46540c52c77ee84f Maintainer: leonardolara Status: ready -->
|
||||
<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="parallel-future.cancel">
|
||||
<refnamediv>
|
||||
<refname>parallel\Future::cancel</refname>
|
||||
<refpurpose>Cancelamento</refpurpose>
|
||||
@@ -11,39 +10,38 @@
|
||||
&reftitle.description;
|
||||
<methodsynopsis>
|
||||
<modifier>public</modifier> <type>bool</type><methodname>parallel\Future::cancel</methodname>
|
||||
<void />
|
||||
<void/>
|
||||
</methodsynopsis>
|
||||
<para>
|
||||
<simpara>
|
||||
Tenta cancelar a tarefa.
|
||||
</para>
|
||||
</simpara>
|
||||
<note>
|
||||
<para>
|
||||
<simpara>
|
||||
Se a tarefa estiver em execução, será interrompida.
|
||||
</para>
|
||||
</simpara>
|
||||
</note>
|
||||
<warning>
|
||||
<para>
|
||||
<simpara>
|
||||
Chamadas de função internas em andamento não podem ser interrompidas.
|
||||
</para>
|
||||
</simpara>
|
||||
</warning>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="exceptions">
|
||||
<title>Exceptions</title>
|
||||
<warning>
|
||||
<para>
|
||||
<simpara>
|
||||
Lança uma exceção <type>parallel\Future\Error\Killed</type> se a tarefa de execução de <type>parallel\Runtime</type> tiver sido encerrada.
|
||||
</para>
|
||||
</simpara>
|
||||
</warning>
|
||||
<warning>
|
||||
<para>
|
||||
<simpara>
|
||||
Lança uma exceção <type>parallel\Future\Error\Cancelled</type> se a tarefa já tiver sido cancelada.
|
||||
</para>
|
||||
</simpara>
|
||||
</warning>
|
||||
</refsect1>
|
||||
|
||||
</refentry>
|
||||
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: d9ecfba6ad07e4e0b1b13ed1f0592f09d2e2f5c9 Maintainer: leonardolara Status: ready -->
|
||||
|
||||
<refentry xml:id="parallel-future.cancelled" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!-- EN-Revision: 57c7669a1f5336cb17413e0b46540c52c77ee84f Maintainer: leonardolara Status: ready -->
|
||||
<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="parallel-future.cancelled">
|
||||
<refnamediv>
|
||||
<refname>parallel\Future::cancelled</refname>
|
||||
<refpurpose>Detecção de estado</refpurpose>
|
||||
@@ -11,16 +10,15 @@
|
||||
&reftitle.description;
|
||||
<methodsynopsis>
|
||||
<modifier>public</modifier> <type>bool</type><methodname>parallel\Future::cancelled</methodname>
|
||||
<void />
|
||||
<void/>
|
||||
</methodsynopsis>
|
||||
<para>
|
||||
<simpara>
|
||||
Indica se a tarefa foi cancelada.
|
||||
</para>
|
||||
</simpara>
|
||||
|
||||
</refsect1>
|
||||
|
||||
</refentry>
|
||||
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: f0a2fee71b120f8afdef2aa7967f4f678f954518 Maintainer: leonardolara Status: ready -->
|
||||
|
||||
<refentry xml:id="parallel-future.done" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!-- EN-Revision: 57c7669a1f5336cb17413e0b46540c52c77ee84f Maintainer: leonardolara Status: ready -->
|
||||
<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="parallel-future.done">
|
||||
<refnamediv>
|
||||
<refname>parallel\Future::done</refname>
|
||||
<refpurpose>Detecção de estado</refpurpose>
|
||||
@@ -11,16 +10,15 @@
|
||||
&reftitle.description;
|
||||
<methodsynopsis>
|
||||
<modifier>public</modifier> <type>bool</type><methodname>parallel\Future::done</methodname>
|
||||
<void />
|
||||
<void/>
|
||||
</methodsynopsis>
|
||||
<para>
|
||||
<simpara>
|
||||
Indica se a tarefa foi concluída.
|
||||
</para>
|
||||
</simpara>
|
||||
|
||||
</refsect1>
|
||||
|
||||
</refentry>
|
||||
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: 52bf027d4cb01fee7d4e33095d3c5ecd6f76fff1 Maintainer: leonardolara Status: ready -->
|
||||
|
||||
<refentry xml:id="parallel-future.value" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!-- EN-Revision: 57c7669a1f5336cb17413e0b46540c52c77ee84f Maintainer: leonardolara Status: ready -->
|
||||
<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="parallel-future.value">
|
||||
<refnamediv>
|
||||
<refname>parallel\Future::value</refname>
|
||||
<refpurpose>Resolução</refpurpose>
|
||||
@@ -11,45 +10,44 @@
|
||||
&reftitle.description;
|
||||
<methodsynopsis>
|
||||
<modifier>public</modifier> <type>mixed</type><methodname>parallel\Future::value</methodname>
|
||||
<void />
|
||||
<void/>
|
||||
</methodsynopsis>
|
||||
<para>
|
||||
<simpara>
|
||||
Retorna (e se necessário espera pelo retorno) da tarefa.
|
||||
</para>
|
||||
</simpara>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="exceptions">
|
||||
<title>Exceptions</title>
|
||||
<warning>
|
||||
<para>
|
||||
<simpara>
|
||||
Lança uma exceção <type>parallel\Future\Error</type> se a espera falhar (erro interno).
|
||||
</para>
|
||||
</simpara>
|
||||
</warning>
|
||||
<warning>
|
||||
<para>
|
||||
<simpara>
|
||||
Lança uma exceção <type>parallel\Future\Error\Killed</type> se a tarefa de execução de <type>parallel\Runtime</type> foi encerrada.
|
||||
</para>
|
||||
</simpara>
|
||||
</warning>
|
||||
<warning>
|
||||
<para>
|
||||
<simpara>
|
||||
Lança uma exceção <type>parallel\Future\Error\Cancelled</type> se a tarefa tiver sido cancelada.
|
||||
</para>
|
||||
</simpara>
|
||||
</warning>
|
||||
<warning>
|
||||
<para>
|
||||
<simpara>
|
||||
Lança uma exceção <type>parallel\Future\Error\Foreign</type> se a tarefa emitir uma exceção não capturável irreconhecível.
|
||||
</para>
|
||||
</simpara>
|
||||
</warning>
|
||||
<warning>
|
||||
<para>
|
||||
<simpara>
|
||||
Relança <type>Throwable</type> não capturada na tarefa.
|
||||
</para>
|
||||
</simpara>
|
||||
</warning>
|
||||
</refsect1>
|
||||
|
||||
|
||||
</refentry>
|
||||
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: 5d927c376e2d53433ff435eea53e546b51d9834b Maintainer: leonardolara Status: ready -->
|
||||
|
||||
<refentry xml:id="parallel-events-input.add" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!-- EN-Revision: 57c7669a1f5336cb17413e0b46540c52c77ee84f Maintainer: leonardolara Status: ready -->
|
||||
<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="parallel-events-input.add">
|
||||
<refnamediv>
|
||||
<refname>parallel\Events\Input::add</refname>
|
||||
<refpurpose>Entradas</refpurpose>
|
||||
@@ -14,27 +13,26 @@
|
||||
<methodparam><type>string</type><parameter>target</parameter></methodparam>
|
||||
<methodparam><type>mixed</type><parameter>value</parameter></methodparam>
|
||||
</methodsynopsis>
|
||||
<para>
|
||||
<simpara>
|
||||
Define a entrada para o alvo especificado.
|
||||
</para>
|
||||
</simpara>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="exceptions">
|
||||
<title>Exceptions</title>
|
||||
<warning>
|
||||
<para>
|
||||
<simpara>
|
||||
Lança uma exceção <type>parallel\Events\Input\Error\Existence</type> se a entrada para o alvo já existir.
|
||||
</para>
|
||||
</simpara>
|
||||
</warning>
|
||||
<warning>
|
||||
<para>
|
||||
<simpara>
|
||||
Lança uma exceção <type>parallel\Events\Input\Error\IllegalValue</type> se o valor for ilegal (&object;, &null;).
|
||||
</para>
|
||||
</simpara>
|
||||
</warning>
|
||||
</refsect1>
|
||||
|
||||
</refentry>
|
||||
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: d9ecfba6ad07e4e0b1b13ed1f0592f09d2e2f5c9 Maintainer: leonardolara Status: ready -->
|
||||
|
||||
<refentry xml:id="parallel-events-input.clear" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!-- EN-Revision: 57c7669a1f5336cb17413e0b46540c52c77ee84f Maintainer: leonardolara Status: ready -->
|
||||
<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="parallel-events-input.clear">
|
||||
<refnamediv>
|
||||
<refname>parallel\Events\Input::clear</refname>
|
||||
<refpurpose>Entradas</refpurpose>
|
||||
@@ -11,15 +10,14 @@
|
||||
&reftitle.description;
|
||||
<methodsynopsis>
|
||||
<modifier>public</modifier> <type>void</type><methodname>parallel\Events\Input::clear</methodname>
|
||||
<void />
|
||||
<void/>
|
||||
</methodsynopsis>
|
||||
<para>
|
||||
<simpara>
|
||||
Remove a entrada de todos os alvos.
|
||||
</para>
|
||||
</simpara>
|
||||
</refsect1>
|
||||
|
||||
</refentry>
|
||||
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: 52bf027d4cb01fee7d4e33095d3c5ecd6f76fff1 Maintainer: leonardolara Status: ready -->
|
||||
|
||||
<refentry xml:id="parallel-events-input.remove" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!-- EN-Revision: 57c7669a1f5336cb17413e0b46540c52c77ee84f Maintainer: leonardolara Status: ready -->
|
||||
<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="parallel-events-input.remove">
|
||||
<refnamediv>
|
||||
<refname>parallel\Events\Input::remove</refname>
|
||||
<refpurpose>Entradas</refpurpose>
|
||||
@@ -13,22 +12,21 @@
|
||||
<modifier>public</modifier> <type>void</type><methodname>parallel\Events\Input::remove</methodname>
|
||||
<methodparam><type>string</type><parameter>target</parameter></methodparam>
|
||||
</methodsynopsis>
|
||||
<para>
|
||||
<simpara>
|
||||
Remove a entrada do alvo especificado.
|
||||
</para>
|
||||
</simpara>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="exceptions">
|
||||
<title>Exceptions</title>
|
||||
<warning>
|
||||
<para>
|
||||
<simpara>
|
||||
Lança uma exceção <type>parallel\Events\Input\Error\Existence</type> se a entrada para o alvo não existir.
|
||||
</para>
|
||||
</simpara>
|
||||
</warning>
|
||||
</refsect1>
|
||||
|
||||
</refentry>
|
||||
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: 52bf027d4cb01fee7d4e33095d3c5ecd6f76fff1 Maintainer: leonardolara Status: ready -->
|
||||
|
||||
<refentry xml:id="parallel-runtime.close" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!-- EN-Revision: 57c7669a1f5336cb17413e0b46540c52c77ee84f Maintainer: leonardolara Status: ready -->
|
||||
<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="parallel-runtime.close">
|
||||
<refnamediv>
|
||||
<refname>parallel\Runtime::close</refname>
|
||||
<refpurpose>Encerramento elegante de Runtime</refpurpose>
|
||||
@@ -11,30 +10,29 @@
|
||||
&reftitle.description;
|
||||
<methodsynopsis>
|
||||
<modifier>public</modifier> <type>void</type><methodname>parallel\Runtime::close</methodname>
|
||||
<void />
|
||||
<void/>
|
||||
</methodsynopsis>
|
||||
<para>
|
||||
<simpara>
|
||||
Solicita que a execução seja encerrada.
|
||||
</para>
|
||||
</simpara>
|
||||
<note>
|
||||
<para>
|
||||
<simpara>
|
||||
As tarefas agendadas para execução serão executadas antes que o encerramento ocorra.
|
||||
</para>
|
||||
</simpara>
|
||||
</note>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="exceptions">
|
||||
<title>Exceptions</title>
|
||||
<warning>
|
||||
<para>
|
||||
<simpara>
|
||||
Lança uma exceção <type>parallel\Runtime\Error\Closed</type> se <type>Runtime</type> já tiver sido fechada.
|
||||
</para>
|
||||
</simpara>
|
||||
</warning>
|
||||
</refsect1>
|
||||
|
||||
|
||||
</refentry>
|
||||
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: 52bf027d4cb01fee7d4e33095d3c5ecd6f76fff1 Maintainer: leonardolara Status: ready -->
|
||||
|
||||
<refentry xml:id="parallel-runtime.construct" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!-- EN-Revision: 57c7669a1f5336cb17413e0b46540c52c77ee84f Maintainer: leonardolara Status: ready -->
|
||||
<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="parallel-runtime.construct">
|
||||
<refnamediv>
|
||||
<refname>parallel\Runtime::__construct</refname>
|
||||
<refpurpose>Construção de Runtime</refpurpose>
|
||||
@@ -11,18 +10,18 @@
|
||||
&reftitle.description;
|
||||
<constructorsynopsis>
|
||||
<modifier>public</modifier> <methodname>parallel\Runtime::__construct</methodname>
|
||||
<void />
|
||||
<void/>
|
||||
</constructorsynopsis>
|
||||
<para>
|
||||
<simpara>
|
||||
Contrói um novo Runtime sem inicialização.
|
||||
</para>
|
||||
</simpara>
|
||||
<constructorsynopsis>
|
||||
<modifier>public</modifier> <methodname>parallel\Runtime::__construct</methodname>
|
||||
<methodparam><type>string</type><parameter>bootstrap</parameter></methodparam>
|
||||
</constructorsynopsis>
|
||||
<para>
|
||||
<simpara>
|
||||
Contrói um novo Runtime com inicialização.
|
||||
</para>
|
||||
</simpara>
|
||||
|
||||
</refsect1>
|
||||
|
||||
@@ -32,9 +31,9 @@
|
||||
<varlistentry>
|
||||
<term><parameter>bootstrap</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
<simpara>
|
||||
A localização de um arquivo de inicialização, geralmente um carregador automático.
|
||||
</para>
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
@@ -43,19 +42,18 @@
|
||||
<refsect1 role="exceptions">
|
||||
<title>Exceptions</title>
|
||||
<warning>
|
||||
<para>
|
||||
<simpara>
|
||||
Lança uma exceção <type>parallel\Runtime\Error</type> se a thread não puder ser criada.
|
||||
</para>
|
||||
</simpara>
|
||||
</warning>
|
||||
<warning>
|
||||
<para>
|
||||
<simpara>
|
||||
Lança uma exceção <type>parallel\Runtime\Bootstrap</type> se a inicialização falhar.
|
||||
</para>
|
||||
</simpara>
|
||||
</warning>
|
||||
</refsect1>
|
||||
|
||||
</refentry>
|
||||
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: 52bf027d4cb01fee7d4e33095d3c5ecd6f76fff1 Maintainer: leonardolara Status: ready -->
|
||||
|
||||
<refentry xml:id="parallel-runtime.kill" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!-- EN-Revision: 57c7669a1f5336cb17413e0b46540c52c77ee84f Maintainer: leonardolara Status: ready -->
|
||||
<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="parallel-runtime.kill">
|
||||
<refnamediv>
|
||||
<refname>parallel\Runtime::kill</refname>
|
||||
<refpurpose>Encerramento de Runtime</refpurpose>
|
||||
@@ -11,35 +10,34 @@
|
||||
&reftitle.description;
|
||||
<methodsynopsis>
|
||||
<modifier>public</modifier> <type>void</type><methodname>parallel\Runtime::kill</methodname>
|
||||
<void />
|
||||
<void/>
|
||||
</methodsynopsis>
|
||||
<para>
|
||||
<simpara>
|
||||
Tenta forçar o Runtime a encerrar.
|
||||
</para>
|
||||
</simpara>
|
||||
<note>
|
||||
<para>
|
||||
<simpara>
|
||||
Tarefas agendadas para execução não serão executadas, a tarefa em execução no momento será interrompida.
|
||||
</para>
|
||||
</simpara>
|
||||
</note>
|
||||
<warning>
|
||||
<para>
|
||||
<simpara>
|
||||
Chamadas de funções internas em andamento não podem ser interrompidas.
|
||||
</para>
|
||||
</simpara>
|
||||
</warning>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="exceptions">
|
||||
<title>Exceptions</title>
|
||||
<warning>
|
||||
<para>
|
||||
<simpara>
|
||||
Lança uma exceção <type>parallel\Runtime\Error\Closed</type> se <type>Runtime</type> tiver sido fechada.
|
||||
</para>
|
||||
</simpara>
|
||||
</warning>
|
||||
</refsect1>
|
||||
|
||||
|
||||
</refentry>
|
||||
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: 41445b3d771660805270f52adf0e421aa20f12ab Maintainer: leonardolara Status: ready -->
|
||||
|
||||
<refentry xml:id="parallel-runtime.run" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!-- EN-Revision: 57c7669a1f5336cb17413e0b46540c52c77ee84f Maintainer: leonardolara Status: ready -->
|
||||
<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="parallel-runtime.run">
|
||||
<refnamediv>
|
||||
<refname>parallel\Runtime::run</refname>
|
||||
<refpurpose>Execução</refpurpose>
|
||||
@@ -13,17 +12,17 @@
|
||||
<modifier>public</modifier> <type class="union"><type>Future</type><type>null</type></type><methodname>parallel\Runtime::run</methodname>
|
||||
<methodparam><type>Closure</type><parameter>task</parameter></methodparam>
|
||||
</methodsynopsis>
|
||||
<para>
|
||||
<simpara>
|
||||
Agenda a tarefa <parameter>task</parameter> para execução em paralelo.
|
||||
</para>
|
||||
</simpara>
|
||||
<methodsynopsis>
|
||||
<modifier>public</modifier> <type class="union"><type>Future</type><type>null</type></type><methodname>parallel\Runtime::run</methodname>
|
||||
<methodparam><type>Closure</type><parameter>task</parameter></methodparam>
|
||||
<methodparam><type>array</type><parameter>argv</parameter></methodparam>
|
||||
</methodsynopsis>
|
||||
<para>
|
||||
<simpara>
|
||||
Agenda a tarefa <parameter>task</parameter> para execução em paralelo, passando <parameter>argv</parameter> no momento da execução.
|
||||
</para>
|
||||
</simpara>
|
||||
|
||||
</refsect1>
|
||||
|
||||
@@ -33,17 +32,17 @@
|
||||
<varlistentry>
|
||||
<term><parameter>task</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
<simpara>
|
||||
Uma <classname>Closure</classname> com características específicas.
|
||||
</para>
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>argv</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
<simpara>
|
||||
Um <type>array</type> de argumentos com características específicas a ser passado para <parameter>task</parameter> no momento da execução.
|
||||
</para>
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
@@ -69,14 +68,14 @@
|
||||
</simplelist>
|
||||
</para>
|
||||
<note>
|
||||
<para>
|
||||
<simpara>
|
||||
Fechamentos aninhados podem usar yield ou referências, mas não devem conter declarações de classe ou funções nomeadas.
|
||||
</para>
|
||||
</simpara>
|
||||
</note>
|
||||
<note>
|
||||
<para>
|
||||
<simpara>
|
||||
Nenhuma instrução é proibida nos arquivos que a tarefa pode incluir.
|
||||
</para>
|
||||
</simpara>
|
||||
</note>
|
||||
</refsect1>
|
||||
|
||||
@@ -90,76 +89,75 @@
|
||||
<member>objetos internos (veja notas)</member>
|
||||
</simplelist>
|
||||
<note>
|
||||
<para>
|
||||
<simpara>
|
||||
No caso de recursos de fluxo de arquivo, o recurso será convertido para o descritor de arquivo e passado como <type>int</type> sempre que possível. Isso não é suportado no Windows.
|
||||
</para>
|
||||
</simpara>
|
||||
</note>
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="object-characteristics">
|
||||
<title>Notas sobre Objetos Internos</title>
|
||||
<para>
|
||||
<simpara>
|
||||
Objetos internos geralmente usam uma estrutura personalizada que não pode ser copiada por valor com segurança. Atualmente, o PHP não possui o mecanismo necessário para fazer isso (sem serialização).
|
||||
Portanto, apenas objetos que não usam uma estrutura personalizada podem ser compartilhados.
|
||||
</para>
|
||||
<para>
|
||||
</simpara>
|
||||
<simpara>
|
||||
Alguns objetos internos não usam uma estrutura personalizada, por exemplo <classname>parallel\Events\Event</classname> e, portanto, podem ser compartilhados.
|
||||
</para>
|
||||
<para>
|
||||
</simpara>
|
||||
<simpara>
|
||||
Closures são um tipo especial de objeto interno e suporte que estão sendo copiados por valor e, portanto, podem ser compartilhadas.
|
||||
</para>
|
||||
<para>
|
||||
</simpara>
|
||||
<simpara>
|
||||
Os canais são essenciais para escrever código paralelo e oferecem suporte ao acesso e execução simultâneos por necessidade e, portanto, podem ser compartilhados.
|
||||
</para>
|
||||
</simpara>
|
||||
<warning>
|
||||
<para>
|
||||
<simpara>
|
||||
Uma classe de usuário que estende uma classe interna pode usar uma estrutura personalizada, conforme definida pela classe interna, e nesse caso não pode ser copiada por valor com segurança,
|
||||
e, portanto, não pode ser compartilhada.
|
||||
</para>
|
||||
</simpara>
|
||||
</warning>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="returnvalues">
|
||||
&reftitle.returnvalues;
|
||||
<warning>
|
||||
<para>
|
||||
<simpara>
|
||||
O <type>parallel\Future</type> retornado não deve ser ignorado quando a tarefa contém uma instrução return ou throw.
|
||||
</para>
|
||||
</simpara>
|
||||
</warning>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="exceptions">
|
||||
<title>Exceções</title>
|
||||
<warning>
|
||||
<para>
|
||||
<simpara>
|
||||
Lança uma exceção <type>parallel\Runtime\Error\Closed</type> se <type>parallel\Runtime</type> tiver sido fechada.
|
||||
</para>
|
||||
</simpara>
|
||||
</warning>
|
||||
<warning>
|
||||
<para>
|
||||
<simpara>
|
||||
Lança uma exceção <type>parallel\Runtime\Error\IllegalFunction</type> se <parameter>task</parameter> é uma closure criada a partir de uma função interna.
|
||||
</para>
|
||||
</simpara>
|
||||
</warning>
|
||||
<warning>
|
||||
<para>
|
||||
<simpara>
|
||||
Lança uma exceção <type>parallel\Runtime\Error\IllegalInstruction</type> se <parameter>task</parameter> contiver instruções ilegais.
|
||||
</para>
|
||||
</simpara>
|
||||
</warning>
|
||||
<warning>
|
||||
<para>
|
||||
<simpara>
|
||||
Lança uma exceção <type>parallel\Runtime\Error\IllegalParameter</type> se <parameter>task</parameter> aceitar ou <parameter>argv</parameter> contiver variáveis ilegais.
|
||||
</para>
|
||||
</simpara>
|
||||
</warning>
|
||||
<warning>
|
||||
<para>
|
||||
<simpara>
|
||||
Lança uma exceção <type>parallel\Runtime\Error\IllegalReturn</type> se <parameter>task</parameter> retornar ilegalmente.
|
||||
</para>
|
||||
</simpara>
|
||||
</warning>
|
||||
</refsect1>
|
||||
|
||||
</refentry>
|
||||
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: 52bf027d4cb01fee7d4e33095d3c5ecd6f76fff1 Maintainer: leonardolara Status: ready -->
|
||||
|
||||
<refentry xml:id="parallel-sync.construct" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!-- EN-Revision: 57c7669a1f5336cb17413e0b46540c52c77ee84f Maintainer: leonardolara Status: ready -->
|
||||
<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="parallel-sync.construct">
|
||||
<refnamediv>
|
||||
<refname>parallel\Sync::__construct</refname>
|
||||
<refpurpose>Construção</refpurpose>
|
||||
@@ -11,33 +10,32 @@
|
||||
&reftitle.description;
|
||||
<methodsynopsis>
|
||||
<modifier>public</modifier> <methodname>parallel\Sync::__construct</methodname>
|
||||
<void />
|
||||
<void/>
|
||||
</methodsynopsis>
|
||||
<para>
|
||||
<simpara>
|
||||
Constrói um novo objeto de sincronização sem nenhum valor.
|
||||
</para>
|
||||
</simpara>
|
||||
|
||||
<methodsynopsis>
|
||||
<modifier>public</modifier> <methodname>parallel\Sync::__construct</methodname>
|
||||
<methodparam><type>scalar</type><parameter>value</parameter></methodparam>
|
||||
</methodsynopsis>
|
||||
<para>
|
||||
<simpara>
|
||||
Constrói um novo objeto de sincronização contendo o valor escalar fornecido.
|
||||
</para>
|
||||
</simpara>
|
||||
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="exceptions">
|
||||
<title>Exceptions</title>
|
||||
<warning>
|
||||
<para>
|
||||
<simpara>
|
||||
Lança uma exceção <type>parallel\Sync\Error\IllegalValue</type> se <parameter>value</parameter> não for escalar.
|
||||
</para>
|
||||
</simpara>
|
||||
</warning>
|
||||
</refsect1>
|
||||
|
||||
</refentry>
|
||||
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: 11b2d542a897f52477053764941ef6b5ce9b78dd Maintainer: leonardolara Status: ready -->
|
||||
|
||||
<refentry xml:id="parallel-sync.get" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!-- EN-Revision: 57c7669a1f5336cb17413e0b46540c52c77ee84f Maintainer: leonardolara Status: ready -->
|
||||
<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="parallel-sync.get">
|
||||
<refnamediv>
|
||||
<refname>parallel\Sync::get</refname>
|
||||
<refpurpose>Acesso</refpurpose>
|
||||
@@ -11,16 +10,15 @@
|
||||
&reftitle.description;
|
||||
<methodsynopsis>
|
||||
<modifier>public</modifier> <type>scalar</type><methodname>parallel\Sync::get</methodname>
|
||||
<void />
|
||||
<void/>
|
||||
</methodsynopsis>
|
||||
<para>
|
||||
<simpara>
|
||||
Retorna automaticamente o valor do objeto de sincronização.
|
||||
</para>
|
||||
</simpara>
|
||||
|
||||
</refsect1>
|
||||
|
||||
</refentry>
|
||||
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: d9ecfba6ad07e4e0b1b13ed1f0592f09d2e2f5c9 Maintainer: leonardolara Status: ready -->
|
||||
|
||||
<refentry xml:id="parallel-sync.invoke" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!-- EN-Revision: 57c7669a1f5336cb17413e0b46540c52c77ee84f Maintainer: leonardolara Status: ready -->
|
||||
<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="parallel-sync.invoke">
|
||||
<refnamediv>
|
||||
<refname>parallel\Sync::__invoke</refname>
|
||||
<refpurpose>Sincronização</refpurpose>
|
||||
@@ -13,14 +12,13 @@
|
||||
<modifier>public</modifier> <methodname>parallel\Sync::__invoke</methodname>
|
||||
<methodparam><type>callable</type><parameter>critical</parameter></methodparam>
|
||||
</methodsynopsis>
|
||||
<para>
|
||||
<simpara>
|
||||
Entra exclusivamente no código crítico.
|
||||
</para>
|
||||
</simpara>
|
||||
|
||||
</refsect1>
|
||||
|
||||
</refentry>
|
||||
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: d9ecfba6ad07e4e0b1b13ed1f0592f09d2e2f5c9 Maintainer: leonardolara Status: ready -->
|
||||
|
||||
<refentry xml:id="parallel-sync.notify" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!-- EN-Revision: 57c7669a1f5336cb17413e0b46540c52c77ee84f Maintainer: leonardolara Status: ready -->
|
||||
<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="parallel-sync.notify">
|
||||
<refnamediv>
|
||||
<refname>parallel\Sync::notify</refname>
|
||||
<refpurpose>Sincronização</refpurpose>
|
||||
@@ -13,14 +12,13 @@
|
||||
<modifier>public</modifier> <methodname>parallel\Sync::notify</methodname>
|
||||
<methodparam choice="opt"><type>bool</type><parameter>all</parameter></methodparam>
|
||||
</methodsynopsis>
|
||||
<para>
|
||||
<simpara>
|
||||
Notifica um (por padrão) ou todos os threads aguardando o objeto de sincronização.
|
||||
</para>
|
||||
</simpara>
|
||||
|
||||
</refsect1>
|
||||
|
||||
</refentry>
|
||||
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: 52bf027d4cb01fee7d4e33095d3c5ecd6f76fff1 Maintainer: leonardolara Status: ready -->
|
||||
|
||||
<refentry xml:id="parallel-sync.set" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!-- EN-Revision: 57c7669a1f5336cb17413e0b46540c52c77ee84f Maintainer: leonardolara Status: ready -->
|
||||
<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="parallel-sync.set">
|
||||
<refnamediv>
|
||||
<refname>parallel\Sync::set</refname>
|
||||
<refpurpose>Acesso</refpurpose>
|
||||
@@ -13,23 +12,22 @@
|
||||
<modifier>public</modifier> <methodname>parallel\Sync::set</methodname>
|
||||
<methodparam><type>scalar</type><parameter>value</parameter></methodparam>
|
||||
</methodsynopsis>
|
||||
<para>
|
||||
<simpara>
|
||||
Define atomicamente o valor do objeto de sincronização.
|
||||
</para>
|
||||
</simpara>
|
||||
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="exceptions">
|
||||
<title>Exceptions</title>
|
||||
<warning>
|
||||
<para>
|
||||
<simpara>
|
||||
Lança uma exceção <type>parallel\Sync\Error\IllegalValue</type> se <parameter>value</parameter> não for escalar.
|
||||
</para>
|
||||
</simpara>
|
||||
</warning>
|
||||
</refsect1>
|
||||
|
||||
</refentry>
|
||||
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: d9ecfba6ad07e4e0b1b13ed1f0592f09d2e2f5c9 Maintainer: leonardolara Status: ready -->
|
||||
|
||||
<refentry xml:id="parallel-sync.wait" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!-- EN-Revision: 57c7669a1f5336cb17413e0b46540c52c77ee84f Maintainer: leonardolara Status: ready -->
|
||||
<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="parallel-sync.wait">
|
||||
<refnamediv>
|
||||
<refname>parallel\Sync::wait</refname>
|
||||
<refpurpose>Sincronização</refpurpose>
|
||||
@@ -11,16 +10,15 @@
|
||||
&reftitle.description;
|
||||
<methodsynopsis>
|
||||
<modifier>public</modifier> <methodname>parallel\Sync::wait</methodname>
|
||||
<void />
|
||||
<void/>
|
||||
</methodsynopsis>
|
||||
<para>
|
||||
<simpara>
|
||||
Aguarda notificação sobre este objeto de sincronização.
|
||||
</para>
|
||||
</simpara>
|
||||
|
||||
</refsect1>
|
||||
|
||||
</refentry>
|
||||
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
|
||||
@@ -1,60 +1,59 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: c7e29d3ab5328b52f83edb88bde973e211a37659 Maintainer: fernandowobeto Status: ready --><!-- CREDITS: fernandowobeto -->
|
||||
|
||||
<chapter xml:id="philosophy.parallel" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!-- EN-Revision: 57c7669a1f5336cb17413e0b46540c52c77ee84f Maintainer: fernandowobeto Status: ready -->
|
||||
<!-- CREDITS: fernandowobeto -->
|
||||
<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="philosophy.parallel">
|
||||
<title>Filosofia</title>
|
||||
<para>
|
||||
<simpara>
|
||||
Esta seção contém filosofias importantes para escrever código paralelo e alguns detalhes sobre a implementação interna do parallel.
|
||||
</para>
|
||||
</simpara>
|
||||
<simplesect role="sharing">
|
||||
<title>Não se comunique compartilhando memória; em vez disso, compartilhe a memória comunicando-se.</title>
|
||||
<para>
|
||||
<simpara>
|
||||
Essa filosofia abraçada pelo parallel tem sua origem no Go, uma das plataformas mais admiradas, senão mais utilizadas, para escrever código paralelo no momento.
|
||||
Os programadores Go precisam trabalhar duro para atingir esse ideal: PHP e parallel fazem todo o trabalho duro para o programador, e por padrão.
|
||||
</para>
|
||||
<para>
|
||||
</simpara>
|
||||
<simpara>
|
||||
Em modelos convencionais de threading encontrados em outras linguagens, geralmente os threads se comunicam entre si apenas pelo fato de
|
||||
operarem no mesmo espaço de endereço.
|
||||
O programador deve implantar exclusão mútua, variáveis de condição e outras primitivas de threading ou sincronização de baixo nível para garantir a comunicação adequada
|
||||
de estado e consistência.
|
||||
</para>
|
||||
<para>
|
||||
</simpara>
|
||||
<simpara>
|
||||
Quando o modelo convencional é invertido, significa que as threads só compartilham memória como resultado da comunicação (uma variável é passada por um Channel, por exemplo).
|
||||
</para>
|
||||
<para>
|
||||
</simpara>
|
||||
<simpara>
|
||||
Quando o parallel passa uma variável de um thread para outro por qualquer meio - argumentos de Task, retorno via Future e Channels - ela é passada por valor.
|
||||
Em todos os casos, exceto no caso de canais sem buffer, a variável também é armazenada em buffer para que não possa ser alterada (ou destruída) antes de ser usada em qualquer thread para o qual a variável
|
||||
está sendo passada. Uma leitura sem buffer em um channel é a única instância em que um thread lê diretamente a memória alocada por outro thread. Ele pode fazê-lo com segurança porque
|
||||
o thread que possui a memória está aguardando que a leitura seja concluída antes que possa continuar a manipulá-la, e o thread que não possui a memória lê por valor. Quando
|
||||
ambos os threads continuam, eles não estão mais compartilhando memória.
|
||||
</para>
|
||||
<para>
|
||||
</simpara>
|
||||
<simpara>
|
||||
Isso torna a escrita e o raciocínio sobre código paralelo muito mais fáceis do que o modelo convencional de threading. Isso significa que o programador não precisa considerar que threads
|
||||
podem estar manipulando dados simultaneamente, porque isso não é possível.
|
||||
</para>
|
||||
<para>
|
||||
</simpara>
|
||||
<simpara>
|
||||
Isso também torna o PHP a plataforma perfeita para implementar uma API de simultaneidade paralela baseada em CSP (passagem de mensagens por canais), porque o PHP em si não é compartilhado -
|
||||
threads PHP operam em seu próprio espaço de endereço virtual por padrão e, portanto, só podem compartilhar memória comunicando-se.
|
||||
</para>
|
||||
</simpara>
|
||||
</simplesect>
|
||||
<simplesect role="owning">
|
||||
<title>Os dados devem ter um único proprietário definitivo</title>
|
||||
<para>
|
||||
<simpara>
|
||||
Ao abordar o modelo CSP pela primeira vez, um programador versado no modelo tradicional de threading pode se encontrar procurando estruturas de dados simultâneas,
|
||||
porque é por isso que elas também são usadas: elas passam objetos compartilhados para manipulação.
|
||||
</para>
|
||||
<para>
|
||||
</simpara>
|
||||
<simpara>
|
||||
Quando se trata do modelo CSP, não há necessidade de as estruturas de dados serem compartilhadas por muitas tarefas e, na verdade, é mais simples se não forem. Os dados devem pertencer
|
||||
a uma única tarefa, as alterações (ou operações) nessa estrutura de dados devem ser comunicadas através de canais e executadas pelo proprietário dos dados, o sucesso, a falha
|
||||
ou o resultado (estado) da alteração (ou operação) sendo comunicado de volta.
|
||||
</para>
|
||||
<para>
|
||||
</simpara>
|
||||
<simpara>
|
||||
Mais uma vez a natureza de zero compartilhamento do PHP e a natureza de cópia por valor do parallel ajudam o programador a atingir esse objetivo, nenhum dado será compartilhado por acidente,
|
||||
e sim apenas como resultado de comunicação.
|
||||
</para>
|
||||
</simpara>
|
||||
</simplesect>
|
||||
</chapter>
|
||||
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
|
||||
@@ -1,45 +1,44 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: cd79fb394a828438dd73e32f53f0a2e96f3722b3 Maintainer: fernandowobeto Status: ready --><!-- CREDITS: fernandowobeto,leonardolara -->
|
||||
|
||||
<chapter xml:id="parallel.setup" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<!-- EN-Revision: 57c7669a1f5336cb17413e0b46540c52c77ee84f Maintainer: fernandowobeto Status: ready -->
|
||||
<!-- CREDITS: fernandowobeto,leonardolara -->
|
||||
<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="parallel.setup">
|
||||
<title>Instalação</title>
|
||||
|
||||
<simplesect xml:id="parallel.requirements">
|
||||
&reftitle.required;
|
||||
<para>
|
||||
<simpara>
|
||||
parallel requer uma compilação de PHP com ZTS (Zend Thread Safety) habilitado
|
||||
(<option role="configure">--enable-zts</option>, ou em sistemas não-Windows anteriores ao PHP 8.0.0,
|
||||
<option role= "configure">--enable-maintainer-zts</option>)
|
||||
</para>
|
||||
<option role="configure">--enable-maintainer-zts</option>)
|
||||
</simpara>
|
||||
<caution>
|
||||
<para>
|
||||
<simpara>
|
||||
Zend Thread Safety não pode ser habilitado após a construção; é uma opção de configuração de tempo de construção.
|
||||
</para>
|
||||
</simpara>
|
||||
</caution>
|
||||
<para>
|
||||
<simpara>
|
||||
parallel deve ser construído em qualquer lugar onde haja um cabeçalho Posix Threads funcional (pthread.h) e uma compilação ZTS de PHP, incluindo Windows (usando o projeto pthread-w32 do redhat).
|
||||
</para>
|
||||
</simpara>
|
||||
</simplesect>
|
||||
|
||||
<simplesect xml:id="parallel.installation">
|
||||
&reftitle.install;
|
||||
<para>
|
||||
<simpara>
|
||||
Versões do parallel são hospedadas pelo PECL e o código-fonte pelo
|
||||
<link xlink:href="&url.git.hub;krakjoe/parallel">github</link>,
|
||||
o caminho mais fácil para instalação é a rota normal do PECL:
|
||||
<link xlink:href="&url.pecl.package;parallel">&url.pecl.package;parallel</link>.
|
||||
</para>
|
||||
<para>
|
||||
</simpara>
|
||||
<simpara>
|
||||
Usuários do Windows podem baixar binários de versão pré-construídos no site <link xlink:href="&url.pecl.package;parallel">PECL</link>.
|
||||
</para>
|
||||
</simpara>
|
||||
<caution>
|
||||
<para>
|
||||
<simpara>
|
||||
Usuários do Windows precisam realizar a etapa adicional de incluir os arquivos <filename>pthreadVC<replaceable>?</replaceable>.dll</filename> (distribuído com as versões do Windows) ao seu <envar>PATH</envar>.
|
||||
</para>
|
||||
</simpara>
|
||||
</caution>
|
||||
</simplesect>
|
||||
</chapter>
|
||||
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
|
||||
Reference in New Issue
Block a user