Sobes.tech
Back to questions
Junior — Middle
62

Какие механизмы позволяют реализовать асинхронное выполнение операций в языке Python?

Answer from AI

sobes.tech AI

В Python асинхронное выполнение операций реализуется с помощью нескольких механизмов:

  1. asyncio — стандартная библиотека для написания асинхронного кода с использованием ключевых слов async и await. Позволяет запускать корутины, которые не блокируют основной поток.

  2. Потоки (threading) — позволяют выполнять задачи параллельно, но из-за GIL (Global Interpreter Lock) в CPython они подходят больше для операций ввода-вывода.

  3. Процессы (multiprocessing) — запускают отдельные процессы, обходя ограничения GIL, подходят для CPU-интенсивных задач.

Пример с asyncio:

import asyncio

async def say_hello():
    await asyncio.sleep(1)
    print('Hello after 1 second')

async def main():
    await asyncio.gather(say_hello(), say_hello())

asyncio.run(main())

Этот код запускает две корутины параллельно, не блокируя основной поток.