Back to questions
Junior — Middle
62
Какие механизмы позволяют реализовать асинхронное выполнение операций в языке Python?
Answer from AI
sobes.tech AI
В 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())
Этот код запускает две корутины параллельно, не блокируя основной поток.