Files
Leonardo Lara Rodrigues 4baf074b52 sync file lines with en rev
2026-01-27 09:14:27 -03:00

135 lines
3.8 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: f0edac3006cc81cc9cd06fd21d4f4bdc244e10c9 Maintainer: leonardolara Status: ready --><!-- CREDITS: leonardolara -->
<refentry xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="syncsemaphore.construct">
<refnamediv>
<refname>SyncSemaphore::__construct</refname>
<refpurpose>Constrói um novo objeto SyncSemaphore</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<modifier>public</modifier> <methodname>SyncSemaphore::__construct</methodname>
<methodparam choice="opt"><type>string</type><parameter>name</parameter></methodparam>
<methodparam choice="opt"><type>int</type><parameter>initialval</parameter><initializer>1</initializer></methodparam>
<methodparam choice="opt"><type>bool</type><parameter>autounlock</parameter><initializer>&true;</initializer></methodparam>
</methodsynopsis>
<simpara>
Constrói um semáforo nomeado ou não nomeado.
</simpara>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<variablelist>
<varlistentry>
<term><parameter>name</parameter></term>
<listitem>
<simpara>
O nome do semáforo, se este for um objeto de semáforo nomeado.
</simpara>
<note>
<simpara>
Se o nome já existir, ele deve poder ser aberto pelo usuário atual
com o qual o processo está sendo executado, ou uma exceção será lançada com uma
mensagem de erro sem sentido.
</simpara>
</note>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>initialval</parameter></term>
<listitem>
<simpara>
O valor inicial do semáforo. Este é o número de bloqueios que podem ser obtidos.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>autounlock</parameter></term>
<listitem>
<simpara>
Especifica se o semáforo deve ou não ser desbloqueado automaticamente na
conclusão do script PHP.
</simpara>
<warning>
<simpara>
Se um objeto for um semáforo nomeado com um desbloqueio automático igual a &false;, o objeto estiver
bloqueado e o script PHP for concluído antes que o objeto seja desbloqueado, então o
semáforo subjacente terminará em um estado inconsistente.
</simpara>
</warning>
</listitem>
</varlistentry>
</variablelist>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<simpara>
O novo objeto <classname>SyncSemaphore</classname>.
</simpara>
</refsect1>
<refsect1 role="errors">
&reftitle.errors;
<simpara>
Uma exceção será lançada se o semáforo não puder ser criado ou aberto.
</simpara>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<example>
<title>Exemplo de <function>SyncSemaphore::__construct</function></title>
<programlisting role="php">
<![CDATA[
<?php
$semaphore = new SyncSemaphore("LimitedResource_2clients", 2);
if (!$semaphore->lock(3000))
{
echo "Não é possível bloquear o semáforo.";
exit();
}
/* ... */
$semaphore->unlock();
?>
]]>
</programlisting>
</example>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<simplelist>
<member><methodname>SyncSemaphore::lock</methodname></member>
<member><methodname>SyncSemaphore::unlock</methodname></member>
</simplelist>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->