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

Какие варианты многозадачности есть в Python

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

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

    python
    from multiprocessing import Process
    def task():
        print("Process running")
    process = Process(target=task)
    process.start()
  2. Асинхронность (asyncio) – для эффективного выполнения I/O-bound задач в одном потоке.

    python
    import asyncio
    async def task():
        print("Async task")
    asyncio.run(task())
  3. GIL (Global Interpreter Lock) – ограничивает потоки в CPython, поэтому для CPU-bound задач лучше использовать процессы.

Выбор зависит от типа задачи:

  • I/O-bound → threading или asyncio
  • CPU-bound → multiprocessing
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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