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

В чем разница между асинхронностью и мультипроцессингом

Асинхронность и мультипроцессинг решают разные задачи параллельного выполнения кода:

Асинхронность (asyncio):

  • Работает в одном потоке
  • Использует кооперативную многозадачность (корутины сами решают, когда отдавать управление)
  • Идеально для I/O-bound задач (сетевые запросы, работа с файлами)
  • Низкие накладные расходы

Пример:

python
import asyncio

async def fetch_data():
    await asyncio.sleep(1)
    return "data"

async def main():
    task1 = fetch_data()
    task2 = fetch_data()
    await asyncio.gather(task1, task2)

Мультипроцессинг (multiprocessing):

  • Запускает отдельные процессы с собственным GIL
  • Подходит для CPU-bound задач (тяжелые вычисления)
  • Высокие накладные расходы (создание процессов)
  • Полная изоляция памяти между процессами

Пример:

python
from multiprocessing import Process

def calculate(x):
    return x * x

if __name__ == '__main__':
    p = Process(target=calculate, args=(5,))
    p.start()
    p.join()

Ключевое отличие: асинхронность эффективна для ожидания I/O, мультипроцессинг - для параллельных вычислений.

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

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

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

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