Введение

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

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

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

Замечание:

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

add a note add a note

User Contributed Notes 1 note

up
0
sean at xano dot com
10 years ago
What is the recommended approach to clean up these mutex/semiphore zombies if php crashes?
To Top