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

Зачем нужен объект синхронизации в Python

В Python объекты синхронизации (например, Lock, Event, Semaphore) используются для управления доступом к общим ресурсам в многопоточных или многопроцессных приложениях. Они предотвращают race conditions, когда несколько потоков/процессов одновременно изменяют данные, что может привести к неожиданным результатам.

Пример с Lock:

python
from threading import Thread, Lock

counter = 0
lock = Lock()

def increment():
    global counter
    for _ in range(100000):
        lock.acquire()
        counter += 1
        lock.release()

threads = [Thread(target=increment) for _ in range(5)]
for t in threads: t.start()
for t in threads: t.join()
print(counter)  # Всегда 500000

Без Lock результат мог бы быть меньше из-за race condition. Объекты синхронизации обеспечивают безопасный доступ к общим ресурсам, координацию между потоками/процессами и помогают избежать deadlocks при правильном использовании.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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