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

Какие используешь виды многозадачности в Python

В Python есть несколько подходов к многозадачности:

  1. Потоки (threading)
    Подходят для I/O-bound задач (сетевые запросы, чтение файлов).
    python
    import threading
    def task():
        print("Thread running")
    thread = threading.Thread(target=task)
    thread.start()
    Минус: GIL ограничивает параллелизм для CPU-bound задач.
  1. Процессы (multiprocessing)
    Для CPU-bound задач (математические вычисления).

    python
    from multiprocessing import Process
    def task():
        print("Process running")
    process = Process(target=task)
    process.start()

    Плюс: Полная параллельность (нет GIL).

  2. Асинхронность (asyncio)
    Оптимально для I/O-bound задач с большим количеством операций.

    python
    import asyncio
    async def task():
        print("Async task")
    asyncio.run(task())

    Особенность: Неблокирующие вызовы через await.

  3. Гринлеты (gevent/greenlet)
    Альтернатива asyncio для легковесной кооперативной многозадачности.

Выбор зависит от типа задачи (I/O vs CPU) и требований к производительности.

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

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

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

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