كيفية التعامل مع الجمود في جافا؟



تتناول هذه المقالة مفهوم Deadlock In Java مع مثال يوضح كيفية حظر الخيوط في برنامج متعدد الخيوط.

تدعم لغة برمجة جافا . إنه يتضمن خيوط متعددة تعمل في وقت واحد لتعدد المهام. لكن في حالات معينة أو بسبب بعض العيوب ، تجد الخيوط نفسها في حالة الانتظار إلى الأبد. في هذه المقالة ، سوف نفهم حالة الجمود في وطرق مختلفة لتجنبه. فيما يلي المواضيع التي تمت مناقشتها في هذه المدونة:

ما هو Deadlock في Java؟

Deadlock في Java هو شرط يتم فيه حظر خيطين أو أكثر إلى الأبد ، في انتظار بعضهما البعض.





الحصول على طول مجموعة js

يحدث هذا عادةً عندما تحتاج خيوط متعددة إلى نفس الأقفال ولكن الحصول عليها في أوامر مختلفة. في Java يعاني من حالة الجمود بسبب الكلمة الأساسية المتزامنة.

يؤدي إلى حظر مؤشر ترابط التنفيذ أثناء انتظار القفل أو الشاشة المرتبط بالمحدد موضوع .



طريق مسدود في جافا - Edureka

مثال الجمود

فئة عامة مثال {public static void main (String [] args) {final String r1 = 'edureka' final String r2 = 'java' Thread t1 = new Thread () {public void run () {synized (r1) {System. out.println ('Thread 1: Locked r1') جرب {Thread.sleep (100)} catch (استثناء e) {} متزامنة (r2) {System.out.println ('Thread 1: Locked r2')}}} } Thread t2 = new Thread () {public void run () {chronized (r1) {System.out.println ('Thread 2: Locked r1') جرب {Thread.sleep (100)} catch (استثناء هـ) {} متزامن (r2) {System.out.println ('Thread 2: Locked r2')}}}} t1.start () t2.start ()}}
 انتاج: الموضوع 1: مغلق r1 الموضوع 2: مغلق r2

كيف تتجنب الجمود في جافا؟

على الرغم من عدم إمكانية تجنب حالة الجمود تمامًا ، إلا أنه يمكننا اتباع بعض الإجراءات أو المؤشرات لتجنبها:

  • تجنب الأقفال المتداخلة - يجب تجنب إعطاء أقفال لخيوط متعددة ، وهذا هو السبب الرئيسي لحالة الجمود. يحدث ذلك عادةً عندما تعطي أقفالًا لخيوط متعددة.

  • تجنب الأقفال غير الضرورية - يجب أن تعطى الأقفال للخيوط المهمة. إعطاء أقفال للخيوط غير الضرورية التي تسبب حالة الجمود.



  • باستخدام ربط الموضوع - يحدث طريق مسدود عادة عندما ينتظر أحد الخيطين انتهاء الآخر. في هذه الحالة ، يمكننا استخدام Thread.join مع أقصى وقت يستغرقه الموضوع.

يقودنا هذا إلى نهاية هذه المقالة حيث تعلمنا عن المأزق في Java وكيفية تجنبه. آمل أن تكون واضحًا بشأن كل ما تمت مشاركته معك في هذا البرنامج التعليمي.

قائمة أحداث جافا سكريبت مع أمثلة

إذا وجدت هذه المقالة حول 'Deadlock In Java' ذات صلة ، فراجع ملف شركة تعليمية موثوقة عبر الإنترنت مع شبكة تضم أكثر من 250000 متعلم راضٍ منتشرة في جميع أنحاء العالم.

نحن هنا لمساعدتك في كل خطوة في رحلتك والتوصل إلى منهج مصمم للطلاب والمهنيين الذين يرغبون في أن يصبحوا مطور جافا. تم تصميم الدورة التدريبية لمنحك السبق في برمجة Java وتدريبك على مفاهيم Java الأساسية والمتقدمة جنبًا إلى جنب مع العديد مثل بيات شتوى & .

إذا واجهت أي أسئلة ، فلا تتردد في طرح جميع أسئلتك في قسم التعليقات في 'Deadlock In Java' وسيسعد فريقنا بالإجابة.