pht\Queue::unlock

(PECL pht >= 0.0.1)

pht\Queue::unlockReleases the queue's mutex lock

Beschreibung

public pht\Queue::unlock ( ) : void

This method will release the mutex lock associated with the queue.

Parameter-Liste

Diese Funktion besitzt keine Parameter.

Rückgabewerte

No return value.

Beispiele

Beispiel #1 Locking a queue's mutex lock

<?php

use pht\{ThreadQueue};

$thread = new Thread();
$queue = new Queue();

$thread->addFunctionTask(function ($queue) {
    
$queue->lock();
    
$queue->push(1);
    
$queue->unlock();
}, 
$queue);

$thread->start();

// $queue is currently being used by multiple threads
$queue->lock();
$queue->push(1);
$queue->unlock();

$thread->join();

// $queue is only being used in this thread now, so no need to lock it
while ($queue->size()) {
    
var_dump($queue->pop());
}

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

int(1)
int(1)