2024 PHP Conference Japan

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 實例;之前需要的是 資源

參見

新增註釋

使用者貢獻的註釋 1 則註釋

donotcallme at iwillcallyou dot com
11 年前
由於實作中的錯誤,`sem_remove()` 不應該作為一般清理/拆除程序的一部分,而且應該很少呼叫。

保留信號量似乎沒有壞處,而且這樣做可能對效能更友善。如果您擔心應用程式 (例如使用 `ftok()` 的檔案快取) 中有太多信號量閒置,您可以使用一些模數運算和簡單的加法,在中間某處為您的信號量建立一個有限的範圍。例如,`ftok() % 101 + 0xBADBEEF`。請務必將 `0xBADBEEF` 替換為您自己的隨機值。此範例將範圍限制為 101 個信號量。101 是一個質數 - 因此,如果您想要更多或更少,請務必將其替換為質數,因為理論上質數有助於更均勻地分佈值。
To Top