Sobes.tech
Back to questions
Middle
1

Чем отличается синхронное выполнение от асинхронного?

Companies where asked
Бюро 1440Бюро 1440

Answer from AI

sobes.tech AI

Синхронное выполнение означает, что задачи выполняются последовательно: следующая задача начнётся только после завершения текущей. В этом режиме программа блокируется, ожидая результат операции, например, чтения файла или сетевого запроса.

Асинхронное выполнение позволяет запускать задачи, не дожидаясь их завершения, и продолжать работу. Результат операции обрабатывается позже, когда он станет доступен, что повышает эффективность при работе с вводом-выводом и многозадачностью.

Пример в Python с использованием asyncio:

import asyncio

async def say_after(delay, what):
    await asyncio.sleep(delay)
    print(what)

async def main():
    print('Начинаем')
    await say_after(1, 'Привет')  # синхронно ждём
    await say_after(1, 'Мир')    # потом следующая

asyncio.run(main())

Здесь задачи выполняются последовательно. Если же запустить их одновременно:

async def main():
    print('Начинаем')
    await asyncio.gather(
        say_after(1, 'Привет'),
        say_after(1, 'Мир')
    )

asyncio.run(main())

Обе задачи выполнятся параллельно, и вывод будет через ~1 секунду сразу для обеих.