(PECL sync >= 1.0.0)
SyncSemaphore::__construct — 建構新的 SyncSemaphore 物件
建構具名或未具名的信號量。
name
如果是具名信號量物件,則為信號量的名稱。
注意事項:
如果名稱已存在,則目前的執行使用者必須能夠開啟它,否則將會拋出一個無意義錯誤訊息的例外狀況。
initialval(初始值)
信號量的初始值。這是可以獲得的鎖定數量。
autounlock(自動解鎖)
指定在 PHP 腳本結束時是否自動解鎖信號量。
如果一個物件是:一個已命名的信號量,其 autounlock 設定為 false
,該物件被鎖定,並且 PHP 腳本在物件解鎖之前結束,那麼底層的信號量將會處於不一致的狀態。
新的 SyncSemaphore 物件。
如果無法建立或開啟信號量,則會拋出例外狀況。
範例 #1 SyncSemaphore::__construct() 範例
<?php
$semaphore = new SyncSemaphore("LimitedResource_2clients", 2);
if (!$semaphore->lock(3000))
{
echo "無法鎖定信號量。";
exit();
}
/* ... */
$semaphore->unlock();
?>