تمرینات مفهوم GIL در پایتون

Please login to bookmark Close

این تمرین‌ها بر پایه‌ی درس مفهوم GIL در پایتون هستند.

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

GIL چیست و چه کاری انجام می‌دهد؟ در هر لحظه چند ترد از یک پردازه اجرا می‌شود؟

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

چرا با وجود اینکه GIL تنها به یک ترد اجازه‌ی اجرا در هر لحظه می‌دهد، استفاده از چند ترد در پایتون هنوز می‌تواند ارزشمند باشد؟ با مثال دانلود منیجر توضیح دهید.

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

چرا حتی با وجود GIL، برای عملیاتی مثل افزایش مقدار یک متغیر مشترک، هنوز هم به قفل نیاز داریم؟

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

چرا سازندگان پایتون GIL را ایجاد کردند، و چرا غیرفعال‌کردن آن خطرناک تلقی می‌شود؟

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

تفاوت کار «I/O-bound» و «CPU-bound» چیست؟ برای هرکدام از threading یا multiprocessing کدام مناسب‌تر است و چرا؟

تمرین ۶ (کد)

کدی بنویسید که چهار کار I/O-bound (شبیه‌سازی‌شده با sleep [2]) را با تردها هم‌زمان اجرا کند و زمان کل را چاپ کند. انتظار دارید چند ثانیه طول بکشد؟

تمرین ۷ (کد)

یک کار CPU-bound (مثل جمع‌زدن یک بازه‌ی بزرگ) را که با تردها سریع‌تر نمی‌شود، با multiprocessing به‌صورت موازی اجرا کنید.

Please login to bookmark Close
نظرات

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

فهرست مطالب

سرفصل دوره

تمرین

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

پاسخ تمرین ها

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

اشتراک گذاری

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

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

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

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

تنظیمات

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