pht\Queue::unlock

(PECL pht >= 0.0.1)

pht\Queue::unlockСнимает блокировку мьютекса очереди

Описание

public pht\Queue::unlock(): void

Метод снимает блокировку мьютекса, связанную с очередью.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Ничего не возвращает.

Примеры

Пример #1 Блокировка мьютекса очереди

<?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 сейчас используется несколькими потоками
$queue->lock();
$queue->push(1);
$queue->unlock();

$thread->join();

// $queue сейчас используется только в этом потоке, поэтому нет необходимости блокировать его
while ($queue->size()) {
    
var_dump($queue->pop());
}

Результат выполнения данного примера:

int(1)
int(1)

add a note add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top