cynic Mon Feb 5 04:45:56 2001 EDT Added files: /phpdoc/cs/functions sem.xml Log: should be completely translated
Index: phpdoc/cs/functions/sem.xml +++ phpdoc/cs/functions/sem.xml <reference id="ref.sem"> <title>Funkce pro práci se semafory a sdílenou pamětí</title> <titleabbrev>Semaphore</titleabbrev> <partintro> <para> Tato extenze poskytuje semaforové funkce využívající System V semafory. Semafory se dají používat k poskytování exkluzivního přístupu k prostředkům na daném systému, nebo k omezení počtu procesů, které mohou současně používat určitý prostředek. </para> <para> Tato extenze také poskytuje funkce pro práci se sdílenou pamětí využívající System V sdílenou paměť. Sdílená pmět se dá používat k poskytování přístupu ke globálním proměnným. Různí httpd-daemoni a dokonce i jiné programy (např. Perl, C, ...) mohou k těmto datům přistupovat, a vytvořit tak globální výměnu dat. Pamatujte, že sdílená paměť <emphasis>není</emphasis> chráněna proti simultáním přístupům. K synchronizaci použijte semafory. <table> <title>Omezení sdílené paměti systémem Unix</title> <tgroup cols="2"> <tbody> <row> <entry>SHMMAX</entry> <entry>max. velikost sdílené paměti, normálně 131072 bytů</entry> </row> <row> <entry>SHMMIN</entry> <entry>min. velikost sdílené paměti, normálne 1 byte</entry> </row> <row> <entry>SHMMNI</entry> <entry>max. počet segmentů sdílené paměti, normálně 100</entry> </row> <row> <entry>SHMSEG</entry> <entry>max. počet segmentů sdílené paměti na proces, normálně 6</entry> </row> </tbody> </tgroup> </table> </para> <note> <simpara> Tyto funkce nefungují na Windows. </simpara> </note> </partintro> <refentry id="function.sem-get"> <refnamediv> <refname>sem_get</refname> <refpurpose>Získat id semaforu</refpurpose> </refnamediv> <refsect1> <title>Popis</title> <funcsynopsis> <funcprototype> <funcdef>int <function>sem_get</function></funcdef> <paramdef>int <parameter>key</parameter></paramdef> <paramdef>int <parameter><optional>max_acquire</optional></parameter> </paramdef> <paramdef>int <parameter><optional>perm</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> Vrací idenfifikátor semaforu nebo <literal>false</literal>. </para> <para> <function>sem_get</function> vrací id, které se dá použít k přístupu k System V semaforu s daným klíčem. Podle potřeby se vytvoří nový semafor s přístupovými právy definovanými v <parameter>perm</parameter> (default je 0666). Počet procesů, které mohou tento semafor získat současně je <parameter>max_acquire</parameter> (default je 1). Tato hodnota je ale nastavena pouze pokud tento proces zjistí, že k tomuto semaforu není současně připojen jiný proces. </para> <para> Druhé volání <function>sem_get</function> se stejným <parameter>key</parameter> vrátí jiný identifikátor semaforu, ale oba identifikátory ukazují na stejný semafor. </para> <para> Viz také: <function>sem_acquire</function> a <function>sem_release</function>. </para> <note> <simpara> Tato funkce nefunguje na Windows. </simpara> </note> </refsect1> </refentry> <refentry id="function.sem-acquire"> <refnamediv> <refname>sem_acquire</refname> <refpurpose>Získat semafor</refpurpose> </refnamediv> <refsect1> <title>Popis</title> <funcsynopsis> <funcprototype> <funcdef>int <function>sem_acquire</function></funcdef> <paramdef>int <parameter>sem_identifier</parameter></paramdef> </funcprototype> </funcsynopsis> <para> Při úspěchu vrací <literal>true</literal>, při chybě <literal>false</literal>. </para> <para> <function>sem_acquire</function> blokuje (pokud je optřeba) až do získání semaforu. Proces pokoušející se získat semafor, který už získal bude blokovat navěky, pokud by získání tohoto semaforu způsobilo překročení jeho hodnoty max_acquire. </para> <para> Po zpracování požadavku se všechny získané, ale explicitně neuvolněné semafoty uvolní automaticky, a vygeneruje se varování. </para> <para> Viz také: <function>sem_get</function> a <function>sem_release</function>. </para> </refsect1> </refentry> <refentry id="function.sem-release"> <refnamediv> <refname>sem_release</refname> <refpurpose>Uvolnit semafor</refpurpose> </refnamediv> <refsect1> <title>Popis</title> <funcsynopsis> <funcprototype> <funcdef>int <function>sem_release</function></funcdef> <paramdef>int <parameter>sem_identifier</parameter></paramdef> </funcprototype> </funcsynopsis> <para> Při úspěchu vrací <literal>true</literal>, jinak <literal>false</literal>. </para> <para> <function>sem_release</function> uvolňí semafor, pokud ho volající proces drží, jinak se vygeneruje varování. </para> <para> Po uvolnění může být semafor znovu získán pomocí <function>sem_acquire</function>. </para> <para> Viz také: <function>sem_get</function> a <function>sem_acquire</function>. </para> <note> <simpara> Tato funkce nefunguje na Windows. </simpara> </note> </refsect1> </refentry> <refentry id="function.shm-attach"> <refnamediv> <refname>shm_attach</refname> <refpurpose>Vytvořit nebo otevřít segment sdílené paměti</refpurpose> </refnamediv> <refsect1> <title>Popis</title> <funcsynopsis> <funcprototype> <funcdef>int <function>shm_attach</function></funcdef> <paramdef>int <parameter>key</parameter></paramdef> <paramdef>int <parameter><optional>memsize</optional></parameter> </paramdef> <paramdef>int <parameter><optional>perm</optional></parameter> </paramdef> </funcprototype> </funcsynopsis> <para> <function>shm_attach</function> vrací id, které se dá použít k přístupu k System V sdílené paměti s daným klíčem; první volání vytvoří segment paměti o velikosti mem_size (default: sysvshm.init_mem v <link linkend="configuration.file">konfiguračním souboru</link>, jinak 10000 bytů) a s volitelnými právy (default: 0666). </para> <para> Druhé volání <function>shm_attach</function> se stejným <parameter>key</parameter> vrátí jiný identifikáto, ale oba ukazují na stejnou sdílenou paměť. <parameter>memsize</parameter> a <parameter>perm</parameter> se v takovém případě ignorují. </para> <note> <simpara> Tato funkce nefunguje na Windows. </simpara> </note> </refsect1> </refentry> <refentry id="function.shm-detach"> <refnamediv> <refname>shm_detach</refname> <refpurpose>Odpojit se od segmentu sdílené paměti</refpurpose> </refnamediv> <refsect1> <title>Popis</title> <funcsynopsis> <funcprototype> <funcdef>int <function>shm_detach</function></funcdef> <paramdef>int <parameter>shm_identifier</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>shm_detach</function> odpojuje od sdílené paměti identifikované <parameter>shm_identifier</parameter> vytvořeným <function>shm_attach</function>. Pamatujte, že tato sdílená paměť dál existuje a drží si data. </para> </refsect1> </refentry> <refentry id="function.shm-remove"> <refnamediv> <refname>shm_remove</refname> <refpurpose>Odstranit sdílenou paměť ze systému</refpurpose> </refnamediv> <refsect1> <title>Popis</title> <funcsynopsis> <funcprototype> <funcdef>int <function>shm_remove</function></funcdef> <paramdef>int <parameter>shm_identifier</parameter></paramdef> </funcprototype> </funcsynopsis> <para> Odstraní sdílenou paměť z UNIXového systému. Všechna data v ní budou zničena. </para> <note> <simpara> Tato funkce nefunguje na Windows. </simpara> </note> </refsect1> </refentry> <refentry id="function.shm-put-var"> <refnamediv> <refname>shm_put_var</refname> <refpurpose>Vložit nebo modifikovat proměnnou do sdílené paměti</refpurpose> </refnamediv> <refsect1> <title>Popis</title> <funcsynopsis> <funcprototype> <funcdef>int <function>shm_put_var</function></funcdef> <paramdef>int <parameter>shm_identifier</parameter></paramdef> <paramdef>int <parameter>variable_key</parameter></paramdef> <paramdef>mixed <parameter>variable</parameter></paramdef> </funcprototype> </funcsynopsis> <para> Vloží nebo modifikuje <parameter>variable</parameter> s daným <parameter>variable_key</parameter>. Všechny typy proměnných (double, int, string, array) jsou podporovány. </para> <note> <simpara> Tato funkce nefunguje na Windows. </simpara> </note> </refsect1> </refentry> <refentry id="function.shm-get-var"> <refnamediv> <refname>shm_get_var</refname> <refpurpose>Vrátit proměnnou ze sdílené paměti</refpurpose> </refnamediv> <refsect1> <title>Popis</title> <funcsynopsis> <funcprototype> <funcdef>mixed <function>shm_get_var</function></funcdef> <paramdef>int <parameter>id</parameter></paramdef> <paramdef>int <parameter>variable_key</parameter></paramdef> </funcprototype> </funcsynopsis> <para> <function>shm_get_var</function> vrací proměnnou s daným <parameter>variable_key</parameter>. Proměnná zůstává ve sdílené paměti. </para> <note> <simpara> Tato funkce nefunguje na Windows. </simpara> </note> </refsect1> </refentry> <refentry id="function.shm-remove-var"> <refnamediv> <refname>shm_remove_var</refname> <refpurpose>Odstranit proměnnou ze sdílené paměti</refpurpose> </refnamediv> <refsect1> <title>Popis</title> <funcsynopsis> <funcprototype> <funcdef>int <function>shm_remove_var</function></funcdef> <paramdef>int <parameter>id</parameter></paramdef> <paramdef>int <parameter>variable_key</parameter></paramdef> </funcprototype> </funcsynopsis> <para> Odstraní proměnnou s daným<parameter>variable_key</parameter> a uvolní zabranou paměť. </para> <note> <simpara> Tato funkce nefunguje na Windows. </simpara> </note> </refsect1> </refentry> </reference> <!-- Keep this comment at the end of the file Local variables: mode: sgml sgml-omittag:t sgml-shorttag:t sgml-minimize-attributes:nil sgml-always-quote-attributes:t sgml-indent-step:1 sgml-indent-data:t sgml-parent-document:nil sgml-default-dtd-file:"../../manual.ced" sgml-exposed-tags:nil sgml-local-catalogs:nil sgml-local-ecat-files:nil End: -->