PHP Conference Japan 2024

SyncSemaphore::__construct

(PECL sync >= 1.0.0)

SyncSemaphore::__construct建構新的 SyncSemaphore 物件

說明

public SyncSemaphore::__construct(字串 $name = ?, 整數 $initialval = 1, 布林值 $autounlock = true)

建構具名或未具名的信號量。

參數

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();
?>

另請參閱

新增註記

使用者貢獻的註記

此頁面沒有使用者貢獻的註記。
To Top