Sobes.tech
Junior — Middle

Мақсади функсияи gather дар модули asyncio дар Python чист?

sobes.tech AI

Ҷавоб аз AI

Функсияи asyncio.gather дар Python барои оғоз кардани чанд корутин дар як вақт ва ҷамъоварии натиҷаҳои онҳо истифода мешавад. Он чанд объекти awaitable (корутинҳо, вазифаҳо ё фьючерҳо) мегирад ва як awaitable-ро бармегардонад, ки вақте ки ҳамаи вазифаҳои додашуда ба охир мерасанд, ба охир мерасад. Натиҷа як tuple бо натиҷаҳои ҳамаи корутинҳо дар ҳамон тартиб хоҳад буд.

Масалан:

import asyncio

async def вазифа(н):
    await asyncio.sleep(н)
    return f"Вазифа {н} анҷом ёфт"

async def main():
    натиҷаҳо = await asyncio.gather(вазифа(1), вазифа(2), вазифа(3))
    print(натиҷаҳо)

asyncio.run(main())

Дар ин мисол, се вазифа дар параллел иҷро мешаванд ва gather натиҷаҳои онҳоро дар рӯйхат ҷамъ мекунад.