Sobes.tech
Back to questions
Junior — Middle
81

Объясните основные принципы работы с несколькими потоками в Python и их преимуществах.

Companies where asked
СБЕРСБЕР

Answer from AI

sobes.tech AI

В Python многопоточность реализуется с помощью модуля threading. Основная идея — запускать несколько потоков, которые могут выполняться параллельно, что полезно для задач ввода-вывода (например, сетевые запросы, чтение файлов). Однако из-за GIL (Global Interpreter Lock) потоки не могут одновременно выполнять байт-код Python, поэтому многопоточность не ускорит CPU-интенсивные задачи.

Преимущества:

  • Улучшение отзывчивости приложений (например, GUI или серверов)
  • Параллельное выполнение операций ввода-вывода

Пример создания и запуска потока:

import threading

def worker():
    print("Поток начал работу")

thread = threading.Thread(target=worker)
thread.start()
thread.join()  # Ждем завершения потока

Для CPU-интенсивных задач лучше использовать multiprocessing или асинхронное программирование.