mirror of
https://github.com/php/doc-ru.git
synced 2026-03-25 08:12:14 +01:00
99 lines
4.4 KiB
XML
99 lines
4.4 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
||
<!-- EN-Revision: 2d99025327523f0f00ce02156664447165307950 Maintainer: rjhdby Status: ready -->
|
||
<!-- Reviewed: no -->
|
||
|
||
<book xml:id="book.sem" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||
<?phpdoc extension-membership="bundled" ?>
|
||
<title>Семафоры, разделяемая память и IPC</title>
|
||
<titleabbrev>Семафоры</titleabbrev>
|
||
|
||
<!-- {{{ preface -->
|
||
<preface xml:id="intro.sem">
|
||
&reftitle.intro;
|
||
<para>
|
||
Модули обеспечивают поддержку семейства функций межпроцессного взаимодействия
|
||
System V. Сюда входят семафоры, разделяемая память и обмен сообщениями между
|
||
процессами (IPC).
|
||
</para>
|
||
<para>
|
||
Семафоры могут использоваться для получения эксклюзивного доступа к ресурсам локальной
|
||
машины или для ограничения числа процессов, одновременно использующих ресурс.
|
||
</para>
|
||
<para>
|
||
Также этот модуль поддерживает функции для работы с разделяемой памятью System V.
|
||
Разделяемая память может быть использована для предоставления доступа к глобальным
|
||
переменным. Различные httpd-демоны и даже другие программы (написанные на Perl, C и т.д.)
|
||
могут получать доступ к этим данным для осуществления глобального обмена данными.
|
||
Помните, что разделяемая память НЕ ЗАЩИЩЕНА от одновременного доступа.
|
||
Используйте семафоры для синхронизации.
|
||
<table>
|
||
<title>Лимиты, наложенные на разделяемую память в Unix OS</title>
|
||
<tgroup cols="2">
|
||
<tbody>
|
||
<row>
|
||
<entry>SHMMAX</entry>
|
||
<entry>максимальный размер разделяемой памяти, обычно 131072 байт</entry>
|
||
</row>
|
||
<row>
|
||
<entry>SHMMIN</entry>
|
||
<entry>минимальный размер разделяемой памяти, обычно 1 байт</entry>
|
||
</row>
|
||
<row>
|
||
<entry>SHMMNI</entry>
|
||
<entry>
|
||
максимальное количество сегментов разделяемой памяти в системе, обычно 100
|
||
</entry>
|
||
</row>
|
||
<row>
|
||
<entry>SHMSEG</entry>
|
||
<entry>
|
||
максимальное количество сегментов разделяемой памяти на процесс, обычно 6
|
||
</entry>
|
||
</row>
|
||
</tbody>
|
||
</tgroup>
|
||
</table>
|
||
</para>
|
||
<para>
|
||
Функции обмена сообщениями можно использовать для отправки и получения сообщений в/из
|
||
другой процесс. Они обеспечивают простое и эффективное средство обмена данными между
|
||
процессами без необходимости создания UNIX-сокетов.
|
||
</para>
|
||
<note>
|
||
<simpara>
|
||
В Windows доступны только функции разделяемой памяти и <function>ftok</function>.
|
||
На этой платформе не поддерживаются ни семафоры, ни функции обмена сообщениями между процессами.
|
||
</simpara>
|
||
</note>
|
||
</preface>
|
||
<!-- }}} -->
|
||
|
||
&reference.sem.setup;
|
||
&reference.sem.constants;
|
||
&reference.sem.reference;
|
||
|
||
&reference.sem.sysvmessagequeue;
|
||
&reference.sem.sysvsemaphore;
|
||
&reference.sem.sysvsharedmemory;
|
||
|
||
</book><!-- 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
|
||
-->
|