Хеш - это массив связанных списков. Функция хеширования преобразует ключ в число, которое используется в качестве индекса элемента массива («корзины»), в который сохраняется значение. Несколько ключей могут хэшировать к одному и тому же индексу («коллизия»), поэтому связанные списки обрабатывают этот случай.
Если поток изменяет один из связанных списков (например, для добавления элемента), пока другой перемещается по нему (например, для извлечения элемента), это может привести к проблемам.
Добавление элементов небезопасно. Вы можете решить эту проблему, предварительно создав элементы хеша (или массива).
Таким образом, остается вопрос о том, является ли доступ к существующим элементам безопасным или нет. Возможно, но это не гарантируется.
Вы можете найти эти интересные:
- illguts подробно описывает внутренние структуры данных Perl.
- Devel :: Peek - очень полезный инструмент.