Встречается на собеседованиях • сегодня
Как сделать потокобезопасный словарь
Для создания потокобезопасного словаря в 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
интервью вопросы и ответы