GoLang pht\Queue::unlock

request it (362)
GoLang replacement for PHP's pht\Queue::unlock [edit | history]



Do you know a GoLang replacement for PHP's pht\Queue::unlock? Write it!

PHP pht\Queue::unlock

PHP original manual for pht\Queue::unlock [ show | php.net ]

pht\Queue::unlock

(PECL pht >= 0.0.1)

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

Description

public void pht\Queue::unlock ( void )

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

Parameters

This function has no parameters.

Return Values

No return value.

Examples

Example #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());
}

The above example will output:

int(1)
int(1)