<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/refs.fileprocess.process.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'ru',
  ),
  'this' => 
  array (
    0 => 'book.sync.php',
    1 => 'Sync',
    2 => 'Sync',
  ),
  'up' => 
  array (
    0 => 'refs.fileprocess.process.php',
    1 => 'Модули управления процессами программ',
  ),
  'prev' => 
  array (
    0 => 'class.shmop.php',
    1 => 'Shmop',
  ),
  'next' => 
  array (
    0 => 'sync.setup.php',
    1 => 'Установка и настройка',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'ru',
    'path' => 'reference/sync/book.xml',
  ),
  'history' => 
  array (
  ),
  'extra_header_links' => 
  array (
    'rel' => 'alternate',
    'href' => '/manual/en/feeds/book.sync.atom',
    'type' => 'application/atom+xml',
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="book.sync" class="book">
 
 <h1 class="title">Sync</h1>
 

 <div id="intro.sync" class="preface">
  <h1 class="title">Введение</h1>
  <p class="simpara">
   Модуль <code class="literal">sync</code> вводит объекты кросс-платформенной синхронизации в PHP.
   Именованные и неименованные объекты Mutex, Semaphore, Event, Reader-Writer и именованные объекты Shared Memory
   обеспечивают синхронизацию на уровне ОС как на платформах с поддержкой интерфейса POSIX (например, Linux),
   так и на Windows-платформах.
  </p>
  <p class="simpara">
   Автоматическая очистка накопленных объектов синхронизации происходит во время размонтирования модуля.
   Это означает, что если PHP преждевременно завершает выполнение скрипта (например, при превышении
   времени выполнения скрипта), объекты не останутся в неизвестном состоянии.
   Единственное исключение из правила — сбой самого PHP (например, при переполнении внутреннего буфера).
  </p>
  <p class="simpara">
   Безымянные объекты синхронизации за пределами многопоточного
   сценария широко не применяют. Безымянные объекты полезнее в сочетании с PECL-модулем pthreads.
  </p>
  <blockquote class="note"><p><strong class="note">Замечание</strong>: 
   <span class="simpara">
    Именованные объекты требуют дополнительной осторожности при работе в системах.
    Если объект создаётся с конкретным набором параметров, требуется создавать объект
    с этими параметрами, иначе появляется риск, что объект окажется в несогласованном состоянии
    до следующей перезагрузки или пока системный администратор не наведёт порядок.
   </span>
  </p></blockquote>
 </div>

 





 





 





 





 





 






<ul class="chunklist chunklist_book"><li><a href="sync.setup.php">Установка и настройка</a><ul class="chunklist chunklist_book chunklist_children"><li><a href="sync.requirements.php">Требования</a></li><li><a href="sync.installation.php">Установка</a></li></ul></li><li><a href="class.syncmutex.php">SyncMutex</a> — Класс SyncMutex<ul class="chunklist chunklist_book chunklist_children"><li><a href="syncmutex.construct.php">SyncMutex::__construct</a> — Создаёт новый объект SyncMutex</li><li><a href="syncmutex.lock.php">SyncMutex::lock</a> — Ждёт эксклюзивной блокировки</li><li><a href="syncmutex.unlock.php">SyncMutex::unlock</a> — Разблокирует мьютекс</li></ul></li><li><a href="class.syncsemaphore.php">SyncSemaphore</a> — Класс SyncSemaphore<ul class="chunklist chunklist_book chunklist_children"><li><a href="syncsemaphore.construct.php">SyncSemaphore::__construct</a> — Создаёт новый объект SyncSemaphore</li><li><a href="syncsemaphore.lock.php">SyncSemaphore::lock</a> — Уменьшает счёт семафора или ждёт</li><li><a href="syncsemaphore.unlock.php">SyncSemaphore::unlock</a> — Увеличивает счёт семафора</li></ul></li><li><a href="class.syncevent.php">SyncEvent</a> — Класс SyncEvent<ul class="chunklist chunklist_book chunklist_children"><li><a href="syncevent.construct.php">SyncEvent::__construct</a> — Создаёт новый объект SyncEvent</li><li><a href="syncevent.fire.php">SyncEvent::fire</a> — Запускает/устанавливает событие</li><li><a href="syncevent.reset.php">SyncEvent::reset</a> — Сбрасывает ручное событие</li><li><a href="syncevent.wait.php">SyncEvent::wait</a> — Ожидает запуска/установки события</li></ul></li><li><a href="class.syncreaderwriter.php">SyncReaderWriter</a> — Класс SyncReaderWriter<ul class="chunklist chunklist_book chunklist_children"><li><a href="syncreaderwriter.construct.php">SyncReaderWriter::__construct</a> — Создаёт новый объект SyncReaderWriter</li><li><a href="syncreaderwriter.readlock.php">SyncReaderWriter::readlock</a> — Ожидает блокировки чтения</li><li><a href="syncreaderwriter.readunlock.php">SyncReaderWriter::readunlock</a> — Снимает блокировку чтения</li><li><a href="syncreaderwriter.writelock.php">SyncReaderWriter::writelock</a> — Ожидает эксклюзивной блокировки записи</li><li><a href="syncreaderwriter.writeunlock.php">SyncReaderWriter::writeunlock</a> — Снимает блокировку записи</li></ul></li><li><a href="class.syncsharedmemory.php">SyncSharedMemory</a> — Класс SyncSharedMemory<ul class="chunklist chunklist_book chunklist_children"><li><a href="syncsharedmemory.construct.php">SyncSharedMemory::__construct</a> — Создаёт новый объект SyncSharedMemory</li><li><a href="syncsharedmemory.first.php">SyncSharedMemory::first</a> — Проверяет, является ли объект первым общесистемным экземпляром именованной разделяемой памяти</li><li><a href="syncsharedmemory.read.php">SyncSharedMemory::read</a> — Копирует данные из именованной разделяемой памяти</li><li><a href="syncsharedmemory.size.php">SyncSharedMemory::size</a> — Возвращает размер именованной разделяемой памяти</li><li><a href="syncsharedmemory.write.php">SyncSharedMemory::write</a> — Копирует данные в именованную разделяемую память</li></ul></li></ul></div><?php manual_footer($setup); ?>