pht\HashTable::lock

(PECL pht >= 0.0.1)

pht\HashTable::lockAcquires the hash table's mutex lock

Opis

public pht\HashTable::lock ( void ) : void

This method will acquire the mutex lock associated with the hash table. The mutex lock should always be acquired when manipulating the hash table if it is being used by multiple threads.

The mutex locks of the Inter-Thread Communication (ITC) data structures are not reentrant. Attempting to reacquire an already-acquired mutex lock by the same thread will therefore cause a deadlock.

Parametry

Ta funkcja nie posiada parametrów.

Zwracane wartości

No return value.

Przykłady

Przykład #1 Locking a hash table's mutex lock

<?php

use pht\{ThreadHashTable};

$thread = new Thread();
$hashTable = new HashTable();

$thread->addFunctionTask(function ($hashTable) {
    
$hashTable->lock();
    
$hashTable['a'] = 1;
    
$hashTable->unlock();
}, 
$hashTable);

$thread->start();

// $hashTable is currently being used by multiple threads
$hashTable->lock();
$hashTable['b'] = 2;
$hashTable->unlock();

$thread->join();

add a note add a note

User Contributed Notes

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