tgoop.com/Fara_Java/190
Last Update:
✳️ متدهای wait و notify در جاوا — از صفر تا صد
در این مقاله به بررسی یکی از بنیادیترین سازوکارهای جاوا میپردازیم که «همگامسازی نخ» (Thread Synchronization) نام دارد. ابتدا برخی اصطلاحهای مرتبط با همزمانی را معرفی میکنیم. سپس یک اپلیکیشن ساده مینویسیم که مشکلات همزمانی در آن بررسی میشوند. هدف از ین مقاله آشنایی بیشتر با متدهای wait و notify در جاوا است.
══ فهرست مطالب ══
○ همگامسازی نخ در جاوا
○ بلوکهای محافظت شده در جاوا
○ متد ()wait
○ متدهای ()notify و ()notifyAll
○ مسئله همگامسازی فرستنده-گیرنده
○ چرا باید ()wait را درون یک حلقه while قرار دهیم؟
○ چرا باید متدهای send() و receive() را همگامسازی کنیم؟
○ سخن پایانی
🔸 همگامسازی نخ در جاوا
در محیط چندنخی، نخهای مختلف تلاش میکنند تا منابع یکسانی را ویرایش کنند. اگر نخها به درستی مدیریت نشوند، این وضعیت منجر به مشکلاتی در یکپارچگی میشود.
🔸 بلوکهای محافظت شده در جاوا
یکی از ابزارهایی که میتوان در جاوا برای هماهنگ کردن کارها روی نخهای مختلف استفاده کرد، «بلوکهای محافظ» (Guarded Blocks) نام دارند. این بلوکها پیش از ازسرگیری یک اجرا، شرط خاصی را بررسی میکنند. بدین ترتیب میتوان کارهای زیر را انجام داد:
– ()Object.wait – برای تعلیق یک نخ.
– ()Object.notify – برای ازسرگیری یک نخ.
این موضوع را با مشاهده نمودار زیر که چرخه عمر یک نخ را به تصویر کشیده است، بهتر درک میکنیم:
توجه کنید که روشهای مختلفی برای کنترل کردن چرخه عمر وجود دارند؛ با این حال در این مقاله قصد داریم صرفاً روی ()wait و ()notify تمرکز کنیم.
مطالعه ادامه مطلب 👇👇
🔗 متدهای wait و notify در جاوا — از صفر تا صد — کلیک کنید (+)
📌 کانال اختصاصی آموزشی برنامهنویسی جاوا
آخرین مطالب علمی، مقالات رایگان و ویدئوهای آموزشی برنامهنویسی جاوا را در کانال اختصاصی [@Fara_Java] دنبال کنید. 👇
@Fara_Java — مطالب و آموزشهای برنامهنویسی جاوا فرادرس
BY Fara_Java | فرا جاوا: آموزش برنامهنویسی جاوا

Share with your friend now:
tgoop.com/Fara_Java/190