Введение

Модуль 'sync' вводит кроссплатформенные объекты синхронизации в PHP. Именованные и безымянные объекты Mutex, Semaphore, Event, Reader-Writer и именованная общая память обеспечивают синхронизацию на уровне ОС как на платформах POSIX (например, Linux), так и на платформах Windows.

Автоматическая очистка полученных объектов синхронизации происходит во время демонтажа модуля. Это означает, что если PHP преждевременно завершает выполнение скрипта (например, превышено время выполнения скрипта), объекты не останутся в неизвестном состоянии. Единственное исключение из этого - случай сбоя самого PHP (например, переполнение внутреннего буфера).

Безымянные объекты синхронизации не имеют большого применения вне многопоточного сценария. Безымянные объекты более полезны в сочетании с модулем pthreads PECL.

Замечание:

Именованные объекты требуют дополнительного ухода для использования во всех системах. Если объект создается с определенным набором параметров, он всегда должен создаваться с этими параметрами, иначе объект может оказаться в несовместимом состоянии до следующей перезагрузки или пока системный администратор не исправит беспорядок.