Semaphore sem_get

(PHP 4, PHP 5, PHP 7, PHP 8)

sem_get — 세마포어 ID 가져오기


설명

sem_get(
    int $key,
    int $max_acquire = 1,
    int $permissions = 0666,
    bool $auto_release = true
): SysvSemaphore|false
                

sem_get()은 주어진 key로 System V 세마포어에 액세스하는 데 사용할 수 있는 ID를 반환합니다.

동일한 키에 대한 sem_get()에 대한 두 번째 호출은 다른 세마포 식별자를 반환하지만 두 식별자 모두 동일한 기본 세마포에 액세스합니다.

key가 0이면 sem_get()에 대한 각 호출에 대해 새 개인 세마포가 생성됩니다.


매개변수

key
max_acquire
세마포어를 동시에 획득할 수 있는 프로세스의 수는 max_acquire로 설정됩니다.
permissions
세마포 권한. 실제로 이 값은 프로세스가 현재 세마포어에 연결된 유일한 프로세스임을 발견한 경우에만 설정됩니다.
auto_release
요청 종료 시 세마포를 자동으로 해제해야 하는지 여부를 지정합니다.

반환 값

성공하면 양수 세마포 식별자를 반환하고, 오류에는 false을 반환합니다.


변경 로그

버전 설명
8.0.0 성공하면 이 함수는 이제 SysvSemaphore 인스턴스를 반환합니다. 이전에는 리소스가 반환되었습니다.
8.0.0 auto_release의 유형이 int에서 bool로 변경되었습니다.

메모

경고 sem_get()을 사용하여 PHP 외부에서 생성된 세마포에 액세스할 때 세마포는 3개의 세마포 세트로 생성되어야 함(예: C semget() 함수를 호출할 때 nsems 매개변수로 3을 지정하여), 그렇지 않으면 PHP 세마포어에 액세스할 수 없습니다.


기타