Sobes.tech
Junior — Middle

Կա՞ն հարցեր քո՝ կապված կորուտինների օգտագործման և նրանց առանձնահատկությունների հետ։

sobes.tech AI

Պատասխան AI-ից

Python-да korutinlar async և await բանալի բառերով իրականացվում են և թույլ են տալիս գրել ասինխրոնային կոդ, որը չի բլոկավորում կատարմանը սպասելիս մուտք/արտահոսքի գործողությունների։

Korutin-ների առանձնահատկությունները՝

  • Նրանք նոր թելեր չեն ստեղծում, աշխատում են մեկ թելում և փոխ switch են անում սպասման ժամանակներում։
  • Korutina-ны գործարկելու համար անհրաժեշտ է իրադարձությունների ցիկլ (asyncio), որը կառավարում է նրանց կատարմանը։
  • Korutin-ները թույլ են տալիս բարձրացնել արտադրողականությունը մեծ քանակությամբ մուտք/արտահոսքի գործողությունների դեպքում։

Պարզ օրինակ՝

import asyncio

async def say_hello():
    print("Hello")
    await asyncio.sleep(1)  # սիմուլացիա ասինխրոնային գործողության
    print("World")

asyncio.run(say_hello())

Եթե ունեք հարցեր, օրինակ՝ ինչպես ճիշտ օգտագործել korutin-ները բլոկավոր կոդով կամ ինչպես կառավարել արտահայտությունները korutin-ների ներսում, կարող եմ օգնել հասկանալ։