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

Где оптимальнее применять потоки в Python

Потоки в Python оптимальны для задач, связанных с I/O-bound операциями (сетевыми запросами, чтением/записью файлов), где основное время тратится на ожидание. Из-за GIL (Global Interpreter Lock) потоки не дают выигрыша в CPU-bound задачах — для них лучше использовать процессы (multiprocessing).

Пример с потоками для скачивания файлов:

python
import threading
import requests

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

urls = ["http://example.com/file1", "http://example.com/file2"]
threads = []

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

for thread in threads:
    thread.join()

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

  • CPU-heavy задачи (математические вычисления, обработка изображений).
  • Критичные к порядку выполнения операции (потоки выполняются недетерминированно).

Для асинхронного I/O (asyncio) может быть эффективнее, чем потоки, особенно при высоких нагрузках.

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

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

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

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