PHP 7.4.25 Released!

pht\HashTable::lock

(PECL pht >= 0.0.1)

pht\HashTable::lockПолучает блокировку мьютекса хеш-таблицы

Описание

public pht\HashTable::lock(): void

Метод получает блокировку мьютекса, связанную с хеш-таблицей. Блокировка мьютекса всегда должна быть получена при манипулировании хеш-таблицей, если она используется несколькими потоками.

Мьютексные блокировки структур данных межпоточного взаимодействия (ITC) не реентерабельны. Попытка повторно получить уже полученную блокировку мьютекса тем же потоком приведёт к взаимной блокировке.

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

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

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

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

Примеры

Пример #1 Блокировка мьютекса хеш-таблицы

<?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 в настоящее время используется несколькими потоками
$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