Junior — Middle
Quais mecanismos permitem implementar a execução assíncrona de operações na linguagem Python?
sobes.tech IA
Resposta da IA
В Python асинхронное выполнение операций реализуется с помощью нескольких механизмов:
-
asyncio — стандартная библиотека для написания асинхронного кода с использованием ключевых слов
asyncиawait. Позволяет запускать корутины, которые не блокируют основной поток. -
Потоки (threading) — позволяют выполнять задачи параллельно, но из-за GIL (Global Interpreter Lock) в CPython они подходят больше для операций ввода-вывода.
-
Процессы (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())
Этот код запускает две корутины параллельно, не блокируя основной поток.