Php/docs/pht-hashtable.lock
pht\HashTable::lock
(PECL pht >= 0.0.1)
pht\HashTable::lock — Acquires the hash table's mutex lock
Description
public pht\HashTable::lock ( ) : 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.
Parameters
This function has no parameters.
Return Values
No return value.
Examples
Example #1 Locking a hash table's mutex lock
<?phpuse pht\{Thread, HashTable};$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();