Sobes.tech
Back to questions
Junior — Middle
60

Какова цель использования модуля asyncio в Python и в каких случаях его применяют?

Companies where asked
Soft Media Group

Answer from AI

sobes.tech AI

Модуль asyncio в Python предназначен для написания асинхронного кода, который позволяет выполнять множество операций ввода-вывода (I/O) без блокировки основного потока. Это особенно полезно для задач, где нужно обрабатывать большое количество сетевых запросов, файловых операций или других I/O, не создавая при этом множество потоков.

Применяют asyncio, когда нужно повысить производительность программ, работающих с сетью, веб-серверами, клиентами, базами данных и другими асинхронными источниками данных.

Пример использования asyncio для асинхронного запроса к нескольким URL:

import asyncio
import aiohttp

async def fetch(url):
    async with aiohttp.ClientSession() as session:
        async with session.get(url) as response:
            return await response.text()

async def main():
    urls = ['http://example.com', 'http://python.org']
    tasks = [fetch(url) for url in urls]
    results = await asyncio.gather(*tasks)
    for content in results:
        print(len(content))

asyncio.run(main())