Создание асинхронных циклов for в PythonPython

Программы на Python
Anonymous
Создание асинхронных циклов for в Python

Сообщение Anonymous »

Следующий код выводит следующее:

1 sec delay, print "1",
1 sec delay, print "2",
1 sec delay, print "1",
1 sec delay, print "2"


Как его можно изменить, чтобы он работал вот так:

1 sec delay, print "1", print "1",
1 sec delay, print "2", print "2"


Мне хотелось бы, чтобы оба экземпляра цикла for начинали выполняться одновременно. При выполнении каждого экземпляра они одновременно сталкиваются с функцией first(), а затем с функцией Second(), таким образом печатая данные в указанном выше порядке.

Код:

import asyncio

async def first():
await asyncio.sleep(1)
return "1"

async def second():
await asyncio.sleep(1)
return "2"

async def main():
for i in range(2):
result = await first()
print(result)
result2 = await second()
print(result2)

loop = asyncio.get_event_loop()
loop.run_until_complete(main())


Подробнее здесь: https://stackoverflow.com/questions/534 ... -in-python

Вернуться в «Python»