Sync SyncSemaphore::__construct
(PECL sync >= 1.0.0)
SyncSemaphore::__construct — 새로운 SyncSemaphore 객체를 생성합니다.
설명
public SyncSemaphore::__construct(string $name
= ?, int $initialval
= 1, bool $autounlock
= true
)
명명되거나 명명되지 않은 세마포를 구성합니다.
매개변수
name
- 명명된 세마포어 개체인 경우 세마포어의 이름입니다.
메모: 이름이 이미 존재하는 경우 프로세스가 실행 중인 현재 사용자가 이 이름을 열 수 있어야 합니다. 그렇지 않으면 의미 없는 오류 메시지와 함께 예외가 throw됩니다.
initialval
- 세마포어의 초기 값입니다. 획득할 수 있는 잠금 수입니다.
autounlock
- PHP 스크립트 종료 시 세마포어를 자동으로 잠금 해제할지 여부를 지정합니다.
경고 객체가 다음과 같은 경우: autounlock이
false
인 명명된 세마포어, 객체가 잠기고 객체가 잠금 해제되기 전에 PHP 스크립트가 종료되면 기본 세마포는 일관성 없는 상태가 됩니다.
반환 값
새 SyncSemaphore 개체입니다.
오류/예외
세마포를 만들거나 열 수 없는 경우 예외가 throw됩니다.
Examples
예제 #1 SyncSemaphore::__construct() 예제
<?php
$semaphore = new SyncSemaphore("LimitedResource_2clients", 2);
if (!$semaphore->lock(3000))
{
echo "Unable to lock semaphore.";
exit();
}
/* ... */
$semaphore->unlock();
?>
기타
- SyncSemaphore::lock() - 세마포어의 수를 줄이거나 기다립니다.
- SyncSemaphore::unlock() - 세마포어의 수를 늘립니다.