Встречается на собеседованиях • сегодня

Как сделать потокобезопасный словарь

Для создания потокобезопасного словаря в 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 между безопасностью и скоростью.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы