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

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

В Python для многозадачности используются:

  1. Потоки (threading) – подходят для I/O-bound задач (например, сетевые запросы).

    python
    import threading
    def task():
        print("Thread running")
    thread = threading.Thread(target=task)
    thread.start()
  2. Процессы (multiprocessing) – для CPU-bound задач (параллельные вычисления).

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

    python
    import asyncio
    async def task():
        print("Async task")
    asyncio.run(task())
  2. Concurrent.futures – высокоуровневый интерфейс для потоков/процессов.

    python
    from concurrent.futures import ThreadPoolExecutor
    with ThreadPoolExecutor() as executor:
        executor.submit(task)

Важно: GIL ограничивает потоки для CPU-bound задач, поэтому процессы или asyncio предпочтительнее.

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

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

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

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