Php/docs/function.sem-get
sem_get
(PHP 4, PHP 5, PHP 7)
sem_get — Get a semaphore id
说明
sem_get
( int $key
[, int $max_acquire = 1
[, int $permissions = 0666
[, bool $auto_release = true
]]] ) : SysvSemaphore|false
sem_get() returns an id that can be used to
access the System V semaphore with the given key.
A second call to sem_get() for the same key will return a different semaphore identifier, but both identifiers access the same underlying semaphore.
If key is 0, a new private semaphore
is created for each call to sem_get().
参数
keymax_acquire- The number of processes that can acquire the semaphore simultaneously is set to
max_acquire. permissions- The semaphore permissions. Actually this value is set only if the process finds it is the only process currently attached to the semaphore.
auto_release- Specifies if the semaphore should be automatically released on request shutdown.
返回值
Returns a positive semaphore identifier on success, or false on
error.
更新日志
| 版本 | 说明 |
|---|---|
| 8.0.0 | On success, this function returns a SysvSemaphore instance now;
previously, a resource was returned. |
| 8.0.0 | The type of auto_release has been changed from
int to bool. |
注释
Warning
When using sem_get() to access a semaphore created
outside PHP, note that the semaphore must have been created as a set of 3
semaphores (for example, by specifying 3 as the nsems
parameter when calling the C semget() function),
otherwise PHP will be unable to access the semaphore.
参见
- sem_acquire() - Acquire a semaphore
- sem_release() - Release a semaphore
- ftok() - Convert a pathname and a project identifier to a System V IPC key