Introdução
A extensão sync
introduz objetos de sincronização multiplataforma no PHP.
Objetos de Mutex, Semaphore, Event, Reader-Writer e Shared Memory nomeados e não nomeados
fornecem sincronização em nível de sistema operacional em plataformas POSIX (por exemplo, Linux)
e Windows.
A limpeza automática de objetos de sincronização adquiridos ocorre durante a desmontagem da extensão. Isso significa que se o PHP encerrar prematuramente um script (por exemplo, o tempo de execução do script for excedido), os objetos não serão deixados em um estado desconhecido. A única exceção a isso é se o próprio PHP travar (por exemplo, uma sobrecarga de buffer interna).
Objetos de sincronização não nomeados não têm muita utilidade fora de um cenário multithread. Objetos não nomeados são mais úteis em conjunto com a extensão pthreads do PECL.
Note:
Objetos nomeados requerem cuidados adicionais para serem usados em todos os sistemas. Se um objeto for instanciado com um conjunto específico de parâmetros, ele sempre deve ser instanciado com esses parâmetros, caso contrário, o objeto provavelmente acabará em um estado inconsistente até a próxima reinicialização ou até que um administrador de sistema limpe a bagunça.