تمرینات آموزش ماژول concurrent.futures – کلاس ThreadPoolExecutor

Please login to bookmark Close

این تمرین‌ها بر پایه‌ی درس کلاس ThreadPoolExecutor هستند.

تمرین ۱ (مفهومی)

پارامتر max_workers در ThreadPoolExecutor چه چیزی را کنترل می‌کند؟

تمرین ۲ (مفهومی)

در مثال اول درس، چرا سومین تسک باید منتظر بماند تا یکی از دو تسک اول تمام شود؟

تمرین ۳ (مفهومی)

در مثال دوم، نقش executor.submit در مقایسه با executor.map چیست؟

تمرین ۴ (مفهومی)

برای اینکه مقدار بازگشتی یک تسک که با executor.submit ارسال شده را بگیریم، از چه متدی استفاده می‌کنیم؟

تمرین ۵ (کد)

با ThreadPoolExecutor و max_workers=2 یک تابع یک‌ثانیه‌ای را روی پنج ورودی با map اجرا کنید و توضیح دهید چرا فقط دو کار هم‌زمان اجرا می‌شوند.

تمرین ۶ (کد)

تابعی بنویسید که مقدار برمی‌گرداند و با submit چهار کار بفرستید؛ سپس همه‌ی نتایج را با .result() جمع‌آوری و چاپ کنید.

تمرین ۷ (کد واقعی)

یک تابع fetch(url) بنویسید که کار شبکه را با sleep[2] شبیه‌سازی کند. با ThreadPoolExecutor هشت دانلود را هم‌زمان اجرا کنید و زمان کل را چاپ کنید.

تمرین ۸ (مفهومی)

چه زمانی باید از ThreadPoolExecutor و چه زمانی از ProcessPoolExecutor استفاده کرد؟ چرا تردها برای کارهای CPU-bound مناسب نیستند؟

Please login to bookmark Close
نظرات

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

فهرست مطالب

سرفصل دوره

تمرین

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

پاسخ تمرین ها

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

اشتراک گذاری

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

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

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

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

تنظیمات

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