Введение

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

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

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

Замечание:

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

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top