2009-12-21 17 views
10

È possibile interrogare un semaforo creato con sem_get senza effettivamente bloccare come fa la funzione sem_acquire?Interroga un semaforo PHP senza bloccare?

Cheers, Dan.

+1

Benvenuti a StackOverflow! – Sampson

+0

Grazie. Non il primo post più eccitante del mondo lo ammetterò! ;-) – Dan

risposta

6

Sfortunatamente, PHP attualmente non supporta i semafori non bloccanti.

Se è necessario qualcosa di simile, è possibile utilizzare i semafori insieme alla memoria condivisa per creare i propri meccanismi di blocco non bloccanti.

Utilizzare una variabile di memoria condivisa per contrassegnare se esiste o meno un blocco e quindi utilizzare un semaforo attorno alle operazioni rispetto a tale variabile.

0

A partire da PHP 5.6.1, supporta il parametro nowait $ per sem_acquire:

bool sem_acquire (resource $sem_identifier [, bool $nowait = false ])