SyncMutex::__construct

(PECL sync >= 1.0.0)

SyncMutex::__construct β€” Π‘ΠΎΠ·Π΄Π°Ρ‘Ρ‚ Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ SyncMutex

ОписаниС

public function SyncMutex::__construct(string $name = ?)

Π‘ΠΎΠ·Π΄Π°Ρ‘Ρ‚ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΈΠ»ΠΈ бСзымянный счётный ΠΌΡŒΡŽΡ‚Π΅ΠΊΡ.

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

name
Имя ΠΌΡŒΡŽΡ‚Π΅ΠΊΡΠ°, Ссли это ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΌΡŒΡŽΡ‚Π΅ΠΊΡΠ°.

Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Если имя ΡƒΠΆΠ΅ сущСствуСт, ΠΎΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ доступно для открытия Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ, ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π·Π°ΠΏΡƒΡ‰Π΅Π½ процСсс, ΠΈΠ½Π°Ρ‡Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π±Ρ€ΠΎΡˆΠ΅Π½ΠΎ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ с бСссмыслСнным сообщСниСм ΠΎΠ± ошибкС.

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

Новый ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ SyncMutex.

Ошибки

Если ΠΌΡŒΡŽΡ‚Π΅ΠΊΡ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ создан ΠΈΠ»ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚, выбрасываСтся ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅.

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

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ #1 ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования SyncMutex::__construct() для создания ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΡŒΡŽΡ‚Π΅ΠΊΡΠ° со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ оТидания

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

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

exit();
}

/* ... */

$mutex->unlock();
?>

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ #2 ΠŸΡ€ΠΈΠΌΠ΅Ρ€ использования SyncMutex::__construct() для создания бСзымянного ΠΌΡŒΡŽΡ‚Π΅ΠΊΡΠ°

<?php
$mutex
= new SyncMutex();

$mutex->lock();

/* ... */

$mutex->unlock();
?>

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

  • SyncMutex::lock() - Π–Π΄Ρ‘Ρ‚ эксклюзивной Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ
  • SyncMutex::unlock() - Π Π°Π·Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅Ρ‚ ΠΌΡŒΡŽΡ‚Π΅ΠΊΡ
οΌ‹Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ

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

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