Back to questions
Junior — Middle
50
Какие методы используются для управления и координации потоков в Python?
Answer from AI
sobes.tech AI
В Python для управления и координации потоков используются следующие методы и инструменты из модуля threading:
-
Создание и запуск потоков:
import threading def worker(): print("Поток работает") t = threading.Thread(target=worker) t.start() t.join() # Ожидание завершения потока -
Синхронизация потоков:
Lock— простой мьютекс для предотвращения одновременного доступа к ресурсу.RLock— рекурсивный замок, позволяющий одному потоку захватывать блокировку несколько раз.Event— для уведомления потоков о наступлении события.Condition— для более сложной синхронизации с ожиданием и уведомлением.Semaphore— ограничивает количество потоков, одновременно выполняющих определённый участок кода.
-
Пример использования Lock:
lock = threading.Lock() def safe_increment(counter): with lock: counter[0] += 1 -
Координация с помощью Event:
event = threading.Event() def wait_for_event(): event.wait() # Ожидание сигнала print("Событие произошло") def trigger_event(): event.set() # Посылает сигнал
Эти методы позволяют создавать многопоточные приложения с контролем доступа к общим ресурсам и координацией работы потоков.