پاسخ تمرینات آموزش ماژول Asyncio – Task و متد Create_task

Please login to bookmark Close

پاسخ تمرین ۱

create_task باعث می‌شود coroutine بلافاصله روی Event Loop برای اجرا برنامه‌ریزی شود، بدون اینکه لازم باشد همان لحظه منتظرش بمانیم. یک شیء Task فورا به ما برگردانده می‌شود که می‌توانیم بعدا منتظرش بمانیم، وضعیتش را بررسی کنیم یا حتی قبل از اتمام کارش لفوش کنیم.

پاسخ تمرین ۲

چون هر دو Task قبل از اینکه هیچ‌کدامشان await شوند ساخته می‌شوند. این یعنی هر دو با هم روی Event Loop شروع به اجرا می‌کنند و زمانشان روی هم می‌افتد، پس مدت زمان کل منتظر ماندن با طولانی‌ترین Task تعیین می‌شود، نه با جمع زدن زمان هر دو با هم.

پاسخ تمرین ۳

متد done نشان می‌دهد آیا Task کارش را تا همین الان تمام کرده یا نه، با برگرداندن درست یا نادرست. متد result مقداری را که coroutine برگردانده به ما نشان می‌دهد، اما فقط وقتی که Task واقعا تمام شده باشد؛ صدا زدن آن زودتر از موقع، پاسخ معناداری نمی‌دهد.

پاسخ تمرین ۴

صدا زدن cancel فقط یک درخواست برای توقف Task می‌فرستد؛ Task همان لحظه متوقف نمی‌شود. در عوض، اولین باری که coroutine به یک نقطه‌ی await برسد، asyncio همانجا خطای CancelledError را پرتاب می‌کند، و همان نقطه‌ای است که می‌توانیم آن را بگیریم و بفهمیم Task زودتر از موعد متوقف شده.

Please login to bookmark Close
نظرات

دیدگاهتان را بنویسید

فهرست مطالب

سرفصل دوره

تمرین

این قسمت تمرین ندارد!

پاسخ تمرین ها

هنوز برای تمرین‌های این قسمت پاسخی ثبت نشده است!

اشتراک گذاری

چرا بهتره از فیلترشکن استفاده کنید؟

من همه ویدئو ها و پادکست های کُدباز رو توی یوتیوب و ساندکلود و پلتفرم هایی آپلود می‌کنم که اغلب فیلتر هستند.

اغلب آموزش‌ها ویدئو و پادکست دارند. پس اگر می‌خواهید از محتوای سایت بیشترین استفاده رو ببرید نیاز به فیلتر شکن دارید.

توجه داشته باشید که برای خرید از فروشگاه بهتره فیلتر شکن رو خاموش کنید.

تنظیمات

انتخاب زبان
تغییر تم