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

SyncMutex::unlock

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

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

Референца за `syncmutex.unlock.php` со подобрена типографија и навигација.

syncmutex.unlock.php

SyncMutex::unlock

(PECL sync >= 1.0.0)

SyncMutex::unlockЈа отклучува мутекс-та

= NULL

public SyncMutex::unlock(bool $all = false): bool

Го намалува внатрешниот бројач на SyncMutex објект. Кога внатрешниот бројач ќе достигне нула, се ослободува вистинското заклучување на објектот.

Параметри

all
Определува дали внатрешниот бројач ќе се постави на нула и со тоа ќе се ослободи заклучувањето.

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

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

Примери

Пример #1 SyncMutex::lock() example

<?php
$mutex
= new SyncMutex("UniqueName");

$mutex->lock();

/* ... */

$mutex->unlock();
?>

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

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

npelov на croler точка net
пред 5 години
If the php process dies unexpectedly (on linux) the lock will remain with no option to remove it. unlock() will not work if the lock is being held by other process. SyncMutex uses shared mem. in that case you can delete the shared memory object in /dev/shm. To list the objects:

ls /dev/shm/Sync_Mutex*

Keep in mind that objects remain there even after unlocking. So if you use lots of random mutex names then the number of these objects will grow and and you might want to cleanup at some point

Example sync.php:
<?php

$s = new SyncMutex("mymutex");

if(!$s->lock()){
  echo "cannot lock\n";
  exit;
}
echo "locked\n";
sleep(10);
$s->unlock();
echo "unlocked\n";
?>

then run:

php -f sync.php

and press ctrl-c. If you run it again it won't lock. So what you can do is:

rm -f /dev/shm/Sync_Mutex-*-mymutex

Then run it again - it'll lock again
Навигација

Прелистувај сродни теми и функции.

На оваа страница

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

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

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

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

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