انتقل إلى المحتوى
أمين أبوزيد
درس مخطط لهMID-004-L09

عرض عملي: تشخيص جمود متبادل من thread dump

  • الدرس 9 من 9
  • Mid-level
في هذا الدرس 3 موضوعات

هذا الدرس مخطط له. يعرض المخطط أدناه الموضوعات التي سيغطيها، ولم يُنشر الدرس الكامل بعد.

نص الدروس والتمارين باللغة الإنجليزية، بينما تبقى واجهة الموقع وعناوين الدروس بالعربية.

في هذا الدرس

read a thread dump and fix the cause.

تفاصيل المخطط المبدئي

خطوة بخطوة

  1. Run a Shop transfer(from, to) that locks both accounts in argument order; fire opposite transfers concurrently.
  2. The app hangs; take a dump with jcmd <pid> Thread.print.
  3. Find the "Found one Java-level deadlock" section; read which thread holds which lock and waits for which.
  4. Planned mistake: restart the app and call it solved. Fix: record the dump, identify the lock order, then fix it.
  5. Apply ordered locking (lower id first) and rerun the stress test; no hang.

التطبيق

طبّق هذا الدرس بمختبر الوحدة وتمارينها واختبارها.

المختبر والتمارين الاختبار

تعليم الدرس كمكتمل اختياري ويمكنك التراجع عنه في أي وقت. يبقى تقدمك محفوظًا في هذا المتصفح.

اكتب للبحث في المستويات والمراحل والوحدات والدروس.