Sobes.tech
Junior — Middle

Python тілінде операциялардың асинхронды орындалуын жүзеге асыруға қандай механизмдер мүмкіндік береді?

sobes.tech AI

AI-дан жауап

Python-да асинхронды орындау операциялары бірнеше механизм арқылы жүзеге асырылады:

  1. asyncioasync және await кілт сөздерін пайдалана отырып асинхронды код жазу үшін стандартты кітапхана. Бұл корутиндерді іске қосуға мүмкіндік береді, олар негізгі ағынды блоктамайды.

  2. Жіптер (threading) — тапсырмаларды параллель орындауға мүмкіндік береді, бірақ GIL (Жалпы интерпретатор құлып) арқасында CPython-да олар көбінесе енгізу-шығару операцияларына арналған.

  3. Процестер (multiprocessing) — GIL шектеулерін айналып өтіп, жеке процестерді іске қосады, CPU-интенсивті тапсырмаларға қолайлы.

asyncio мысалы:

import asyncio

async def say_hello():
    await asyncio.sleep(1)
    print('1 секундтан кейін сәлем')

async def main():
    await asyncio.gather(say_hello(), say_hello())

asyncio.run(main())

Бұл код екі корутинді параллель түрде іске қосады, негізгі ағынды блоктамайды.