Middle
რა არის create_task() ფუნქცია?
sobes.tech AI
პასუხი AI-სგან
asyncio.create_task() ფუნქცია ქმნის Task ობიექტს და გეგმავს ასინქრონულ ფუნქციას (კორუტინას) მოვლენების ციკლში ფონზე შესრულებისთვის. ის აბრუნებს Task ობიექტს, რომელიც შეიძლება გამოყენებულ იქნას კორუტინის შედეგის მიღებისთვის ან მისი შესრულების გაუქმებისთვის.
import asyncio
async def my_coroutine():
print("კორუტინა დაიწყო")
await asyncio.sleep(1)
print("კორუტინა დასრულდა")
return "მზად"
async def main():
print("დავალების შექმნა")
task = asyncio.create_task(my_coroutine())
print("დავალება შექმნილია")
# სხვა ოპერაციებიც შეიძლება შესრულდეს, სანამ დავალება მუშაობს
await asyncio.sleep(0.5)
print("სხვა ოპერაციები მიმდინარეობს")
# დაველოდოთ დავალების დასრულებას და მივიღოთ შედეგი
result = await task
print(f"დავალების შედეგი: {result}")
asyncio.run(main())
ძირითადი მახასიათებლები:
- არ ბლოკავს შესრულების ნაკადს: იწყებს კორუტინას და არ ელოდება მის დასრულებას.
Task-ს აბრუნებს: საშუალებას აძლევს მართოს დაწყებული კორუტინა.- გეგმვა: დამატება კორუტინას მოვლენების ციკლში მისი შესრულებისთვის.
სხვაობა await my_coroutine()-თან:
create_task() |
await my_coroutine() |
|---|---|
| არ ბლოკავს შესრულების ნაკადს | ბლოკავს ნაკადს დასრულებამდე |
აბრუნებს Task ობიექტს |
აბრუნებს კორუტინის შედეგს |
| საშუალებას აძლევს ფონზე მუშაობას | სერიული შესრულება |
მრავალი კორუტინის პარალელურად (ასინქრონულად) შესრულებისთვის გამოიყენება.