PHP Conference Japan 2024

sem_remove

(PHP 4 >= 4.1.0, PHP 5, PHP 7, PHP 8)

sem_remove删除信号量

描述

sem_remove(SysvSemaphore $semaphore): bool

sem_remove() 删除给定的信号量。

删除信号量后,它将不再可访问。

参数

semaphore

sem_get() 返回的信号量。

返回值

成功时返回 true,失败时返回 false

变更日志

版本 描述
8.0.0 semaphore 现在期望一个 SysvSemaphore 实例;以前,期望一个 resource

参见

添加注释

用户贡献的注释 1 个注释

2
donotcallme at iwillcallyou dot com
11 年前
sem_remove() 不应作为正常清理/拆卸的一部分,并且由于实现中的错误,应很少调用它。

保留信号量似乎不会造成伤害,并且这样做可能更利于性能。如果您担心应用程序中有太多信号量(例如使用 ftok() 的文件缓存),您可以使用一些模数运算和简单的加法来创建您在偏远地区的信号量的有限范围的值。例如,ftok() % 101 + 0xBADBEEF。请务必将 0xBADBEEF 替换为您自己的随机值。此示例将范围限制为 101 个信号量。101 是一个素数 - 因此,如果您想要更多或更少,请务必将其替换为素数,因为素数理论上可以帮助更均匀地分布值。
To Top