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

Зачем нужна многопоточность (multithreading) в Python

Многопоточность в Python позволяет выполнять несколько задач почти одновременно, что особенно полезно для I/O-bound операций (сеть, файлы, ожидание ответа от API). Хотя из-за GIL (Global Interpreter Lock) настоящего параллелизма для CPU-bound задач не добиться, потоки экономят время за счёт переключения между задачами.

Пример (скачивание файлов):

python
import threading
import requests

def download(url):
    response = requests.get(url)
    print(f"Downloaded {url}")

urls = ["url1", "url2", "url3"]
threads = []

for url in urls:
    thread = threading.Thread(target=download, args=(url,))
    thread.start()
    threads.append(thread)

for thread in threads:
    thread.join()

Здесь потоки позволяют скачивать файлы параллельно, не блокируя основной поток.

Когда использовать:

  • I/O-bound задачи (сеть, БД, файлы)
  • GUI-приложения (чтобы интерфейс не "зависал")
  • Асинхронные операции, где важно ожидание

Для CPU-bound задач лучше использовать multiprocessing.

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

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

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

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