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 օբյեկտ |
Վերադարձնում է կորուտինայի արդյունքը |
| Հնարավորություն է տալիս ֆոնային կատարմամբ | Հետևողական կատարմամբ |
Օգտագործվում է միաժամանակյա (ասինխրոն) մի քանի կորուտինաների կատարման համար։