Встречается на 1% собеседований по Python
Как сделать потокобезопасный словарь
Для создания потокобезопасного словаря в Python можно использовать threading.Lock для синхронизации операций или воспользоваться готовыми решениями из collections.abc и threading.
Пример с Lock:
python
from threading import Lock
class ThreadSafeDict:
def __init__(self):
self._dict = {}
self._lock = Lock()
text
def __getitem__(self, key):
with self._lock:
return self._dict[key]
def __setitem__(self, key, value):
with self._lock:
self._dict[key] = value
def get(self, key, default=None):
with self._lock:
return self._dict.get(key, default)text
**Альтернативы:**
1. `queue.Queue` — если нужна FIFO-логика.
2. `multiprocessing.Manager().dict()` — для межпроцессного взаимодействия.
3. `concurrent.futures` — для высокоуровневых задач.
Важно: блокировки могут снижать производительность, поэтому оценивайте trade-off между безопасностью и скоростью.
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
Похожие вопросы
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы