Sobes.tech
Junior — Middle
104

გთხოვთ ახსნათ კუროტინების ფუნქციონირების პრინციპი და როგორ მართავენ ისინი შესრულების დროს.

პასუხი AI-სგან

sobes.tech AI

კორუტინები — ეს ფუნქციებია, რომლებიც შეუძლიათ შეაჩერონ თავიანთი შესრულება და მოგვიანებით განაახლონ, შენარჩუნებული მდგომარეობით. Python-ში კორუტინები განსახორციელებელია async def საკვანძო სიტყვით და მართავს მათ მოვლენათა ციკლი (event loop).

მუშაობის დროს, კორუტინა შეიძლება "გელოდოს" (await) ასინქრონული ოპერაციის დასრულებას, რაც იძლევა კონტროლის გადაცემას სხვა დავალებებზე. ეს საშუალებას აძლევს ეფექტურად იმუშაოს შესვლის/გამოსვლის ოპერაციებთან, دون أن يعيق سلك التنفيذ.

სადაული კორუტინის მაგალითი:

import asyncio

async def say_hello():
    print("გამარჯობა")
    await asyncio.sleep(1)  # აჩერებს კორუტინას 1 წამით
    print("მსოფლიო")

asyncio.run(say_hello())

აქ, await გადადის მოვლენათა ციკლზე, რომელიც შეიძლება გადართოს სხვა კორუტინებს შორის, უზრუნველყოფს ასინქრონულობას.

ამ გზით, კორუტინები საშუალებას აძლევენ დაწერონ ასინქრონული კოდი, რომელიც ჰგავს სინქრონულს, და ამარტივებს პარალელური დავალებების მართვას.