Sobes.tech
Middle
40

¿En qué se diferencia la ejecución síncrona de la asíncrona?

Empresas donde se preguntó
Бюро 1440Бюро 1440

Respuesta de la IA

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 секунду сразу для обеих.