سؤال

أحاول تقليل خلاف القفل على مسار رمز معين في طلبي. لتحديد التعليمات البرمجية ذات الخلاف العالي القفل ، أقوم بتوصيل YourKit بتطبيقي واستخدام علامة التبويب "الشاشة" ومعرفة الحصول على الأقفال التي تسببت في حظر الخيط الذي أهتم به. هدفي النهائي هو عدم وجود نقاط حمراء لهذا الموضوع في علامة التبويب "الخيط" في YK GUI.

غالبًا ما ينشأ الخلاف من قفل القراءة/القراءة باستخدام قفل جوهري ، بحيث يمكن تحسينها باستخدام أ ReentrantLock بدلا من القفل الجوهري. في الواقع عندما جربت هذا ، أبلغت Yourkit عن انخفاض خلاف. هل هذه المعلومات موثوقة؟ هل تقرير yourkit عن استخدام reentrantlock بشكل صحيح؟

أنا أستخدم Yourkit 8.0.24 على Solaris 10 مع Sun 1.6U18 32 بت JVM.

هل كانت مفيدة؟

المحلول

يشبه Yourkit ، حتى الآن ، لا تقارير ReentrantLockS كما تم حظره في علامة التبويب "الخيط".

نصائح أخرى

بدلاً من اتباع نهج القفل ، حاول تصميم تطبيقك. مع المتغيرات المتطايرة والفئات في java.util.Concrent يمكنك في كثير من الأحيان كتابة خوارزميات خالية من القفل وبالتالي ليس لها أي خلاف القفل.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top