Back to questions
Junior — Middle
66
Когда и в каких сценариях необходимо применять многопоточность в Python?
Answer from AI
sobes.tech AI
Многопоточность в Python полезна, когда нужно выполнять несколько задач одновременно, особенно если они связаны с вводом-выводом (I/O), например, сетевые запросы, работа с файлами или базами данных. Из-за глобальной блокировки интерпретатора (GIL) многопоточность в Python неэффективна для задач, требующих интенсивных вычислений — там лучше использовать многопроцессность.
Примеры сценариев для многопоточности:
- Обработка нескольких сетевых соединений одновременно.
- Параллельное чтение и запись файлов.
- Выполнение фоновых задач, не блокирующих основной поток.
Пример использования threading:
import threading
import time
def worker(name):
print(f"Поток {name} начал работу")
time.sleep(2)
print(f"Поток {name} завершил работу")
threads = []
for i in range(3):
t = threading.Thread(target=worker, args=(f'Thread-{i}',))
threads.append(t)
t.start()
for t in threads:
t.join()