(PHP 4, PHP 5, PHP 7, PHP 8)
sem_get — Obtém um ID de semáforo
$key,$max_acquire = 1,$permissions = 0666,$auto_release = true
sem_get() retorna um id que pode ser usado para
acessar o semáforo do System V com a chave fornecida em key.
Uma segunda chamada a sem_get() com a mesma chave retornará um identificador de semáforo diferente, mas ambos os identificadores acessam o mesmo semáforo subjacente.
Se key for 0, um novo semáforo privado
será criado para cada chamada a sem_get().
key
max_acquire
O número de processos que podem adquirir o semáforo simultaneamente
é definido como max_acquire.
permissionsAs permissões do semáforo. Na verdade, este valor é definido somente se o processo descobrir que é o único processo atualmente anexado ao semáforo.
auto_releaseEspecifica se o semáforo deve ser liberado automaticamente mediante desligamento da solicitação.
Retorna um identificador de semáforo positivo em caso de sucesso, ou false em caso de
erro.
| Versão | Descrição |
|---|---|
| 8.0.0 | Em caso de sucesso, esta função agora retorna uma instância de SysvSemaphore; anteriormente, um resource era retornado. |
| 8.0.0 |
O tipo de auto_release foi alterado de
int para bool.
|
Ao usar sem_get() para acessar um semáforo criado
fora do PHP, observe que o semáforo deve ter sido criado como um conjunto de 3
semáforos (por exemplo, especificando 3 como o parâmetro nsems
ao chamar a função semget() do C),
caso contrário, o PHP não conseguirá acessar o semáforo.