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

Какие типы задач решаются с помощью модуля multithreading в Python

Модуль threading в Python используется для параллельного выполнения задач, особенно I/O-bound операций, где потоки могут работать эффективно благодаря GIL. Основные сценарии:

  1. Параллельные I/O операции - чтение/запись файлов, сетевые запросы, работа с БД
  2. Фоновые задачи - периодические операции, логирование, мониторинг
  3. GUI приложения - чтобы интерфейс не зависал при долгих операциях
  4. Обработка множества соединений - веб-серверы, чат-серверы

Пример:

python
import threading

def download_file(url):
    # имитация долгой I/O операции
    print(f"Downloading {url}...")
    time.sleep(2)
    print(f"Finished {url}")

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

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

for thread in threads:
    thread.join()

Важно: для CPU-bound задач лучше использовать multiprocessing, так как GIL ограничивает настоящую параллельность потоков в Python.

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

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

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

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