wincache_lock

(PECL wincache >= 1.1.0)

wincache_lock — 주어진 키에 대한 배타적 잠금을 획득합니다.


설명

wincache_lock(string $key, bool $isglobal = false): bool

주어진 키에 대한 배타적 잠금을 얻습니다. 잠금을 얻을 수 있을 때까지 현재 스크립트의 실행이 차단됩니다. 잠금이 확보되면 현재 스크립트가 wincache_unlock()을 사용하여 잠금을 해제할 때까지 동일한 키를 사용하여 잠금을 요청하려는 다른 스크립트가 차단됩니다.

경고 wincache_lock()wincache_unlock()을 사용하면 FastCGI와 같은 다중 프로세스 환경에서 PHP 스크립트를 실행할 때 교착 상태가 발생할 수 있습니다. 반드시 사용해야 하는 경우가 아니면 이 함수를 사용하지 마십시오. 사용자 캐시에 대한 대부분의 작업에서는 이 함수를 사용할 필요가 없습니다.


매개변수

key
잠금을 설정할 캐시의 키 이름입니다.
isglobal
잠금 범위가 시스템 전체인지 아니면 로컬인지를 제어합니다. 로컬 잠금의 범위는 IIS FastCGI의 경우 응용 프로그램 풀 또는 동일한 상위 프로세스 식별자를 가진 모든 PHP 프로세스입니다.

반환 값

성공하면 true를, 실패하면 false를 반환합니다.


Examples

예제 #1 wincache_lock() 사용

                  
<?php
$fp = fopen("/tmp/lock.txt", "r+");
if (wincache_lock(“lock_txt_lock”)) { // do an exclusive lock
    ftruncate($fp, 0); // truncate file
    fwrite($fp, "Write something here\n");
    wincache_unlock(“lock_txt_lock”); // release the lock
} else {
    echo "Couldn't get the lock!";
}
fclose($fp);
?>
                  
                

기타