پاسخ تمرینات قفل کردن منابع مشترک با ماژول _thread

Please login to bookmark Close

پاسخ تمرین ۱

این مث به صورت عمدی اضافه شده تا پنجره زمانی بروز Race Condition بزرگ‌تر و قابل مشاهده شود. این مڪث برای صحت برنامه لازم نیست و فقط برای نمایش بهتر مشکل در این مثال آموزشی به کار رفته است.

پاسخ تمرین ۲

استفاده از with lock: تضمین می‌کند که حتی اگر درون بلوک خطایی (Exception) رخ دهد، متد release() به‌طور خودکار اجرا شود. در حالی که با فراخوانی دستی acquire() و release()، اگر خطایی رخ دهد و release فراخوانی نشود، برنامه دچار Dead Lock می‌شود. به همین دلیل with lock امن‌تر و خواناتر است.

پاسخ تمرین ۳

بدون قفل، چند ترد می‌توانند به‌طور همزمان مقدار counter را بخوانند و بنویسند. این کار باعث Race Condition می‌شود و مقدار نهایی counter نادرست و قابل پیش‌بینی نخواهد بود.

Please login to bookmark Close
نظرات

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

فهرست مطالب

سرفصل دوره

تمرین

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

پاسخ تمرین ها

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

اشتراک گذاری

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

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

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

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

تنظیمات

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