База Hintsage

Конкурентность и asyncio

Threads, processes, GIL, coroutines и asyncio.

Практика

Вопросы: Конкурентность и asyncio

Практическая ситуация: определите, когда завершится третий вызов put и почему, если потребитель начнёт работу через секунду.

import asyncio

async def producer(queue):
    for item in range(3):
        print("before", item)
        await queue.put(item)
        print("after", item)

async def main():
    queue = asyncio.Queue(maxsize=2)
    task = asyncio.create_task(producer(queue))
    await asyncio.sleep(1)
    print("got", await queue.get())
    await task

asyncio.run(main())
Программирование PythonКонкурентность и asyncioPython-разработчик асинхронных сервисов

Показано 2140 из 50