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

Какие инструменты использовал для управления потоками данных

В Python для управления потоками данных можно использовать несколько инструментов:

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

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

    python
    import asyncio
    async def task():
        print("Асинхронная задача")
    asyncio.run(task())
  3. Очереди (queue.Queue, multiprocessing.Queue) – для безопасного обмена данными между потоками/процессами.

  4. Конвейеры (concurrent.futures) – для высокоуровневого управления пулами потоков/процессов.

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

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

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

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

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