SyncMutex::lock

(PECL sync >= 1.0.0)

SyncMutex::lock β€” Π–Π΄Ρ‘Ρ‚ эксклюзивной Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ

ОписаниС

public function SyncMutex::lock(int $wait = -1): bool

ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΡΠΊΡΠΊΠ»ΡŽΠ·ΠΈΠ²Π½ΡƒΡŽ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° SyncMutex. Если Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ° ΡƒΠΆΠ΅ установлСна, Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ счётчик увСличиваСтся.

Бписок ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²

wait
ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ миллисСкунд оТидания эксклюзивной Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ -1 ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ бСсконСчноС врСмя оТидания.

Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Π΅ значСния

Ѐункция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ true, Ссли Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ»Π°ΡΡŒ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ, ΠΈΠ»ΠΈ false, Ссли Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° ошибка.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ #1 ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования SyncMutex::lock()

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

if (!
$mutex->lock(3000))
{
echo
"НСвозмоТно Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΡŒΡŽΡ‚Π΅ΠΊΡ.";

exit();
}

/* ... */

$mutex->unlock();
?>

Π‘ΠΌΠΎΡ‚Ρ€ΠΈΡ‚Π΅ Ρ‚Π°ΠΊΠΆΠ΅

  • SyncMutex::unlock() - Π Π°Π·Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅Ρ‚ ΠΌΡŒΡŽΡ‚Π΅ΠΊΡ
οΌ‹Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ Π΅Ρ‰Ρ‘ Π½Π΅ добавляли примСчания для страницы