PHP.mk документација

sem_release

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

function.sem-release.php PHP.net прокси Преводот се освежува
Оригинал на PHP.net
Патека function.sem-release.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + превод во позадина Кодовите, табелите и белешките остануваат читливи во истиот тек.
sem_release

Референца за `function.sem-release.php` со подобрена типографија и навигација.

function.sem-release.php

sem_release

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

sem_releaseОслободи семафор

= NULL

sem_release(SysvSemaphore $semaphore): bool

sem_release() го ослободува семафорот ако е моментално стекнат од повикувачкиот процес, во спротивно се генерира предупредување.

По ослободувањето на семафорот, sem_acquire() може да се повика за повторно стекнување.

Параметри

semaphore
Семафор како што е вратен од sem_get().

Вратени вредности

Патеката до PHP скриптата што треба да се провери. true на успех или false при неуспех.

Дневник на промени

Верзија = NULL
8.0.0 semaphore беше вратено при неуспех. SysvSemaphore инстанца сега; претходно, а resource се очекуваше.

Види Исто така

Белешки од корисници 2 забелешки

danno at circumsolutions dot com
figroc at gmail dot com
If you want to implement this sort of semaphore access (which is usually what is needed if doing ipc) one thing you can do is create shared memory which is simply an int. Use this int between processes as the value of the semaphore.  You can write wrapper functions which use this to allow you to do the desired readers-writers stuff or just use the shared memory plain.  I wouldn't be too worried about race conditions in this case as the shared memory is only an int.  If you are worried about race conditions, the wrapper functions for doing the semaphore stuff could actually use a semaphore to elimate any race conditions.  Also, an added bonus of doing it this way is you can check the value of the int.
apua at communiplex dot com
ian at eiloart dot com
The fact that sem_release only resease the semaphore if it is currently acquired by the calling process is, in fact, a misfeature since sometimes (eg in a readers-writers implementation) it is desirable to release a semaphore acquired by another process. In C you can do that.
I'm telling this because I was trying to write a chat app in php3 made of two programs: a listener and a speaker. The speaker releases a semaphore to inform that there is a new message in a shared memory var. And listeners wait in that semaphore before outputting the message.
На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.