SORU
19 EKİM 2008, Pazar


Java kilitlenme algılaması

Uzun zaman önce, Java bir referans kitabından bir cümle kurtardım:"Java kilitlenme işlemek için bir mekanizma vardır. hatta kilitlenme oluştu bilmiyor." (Java 2. Baskı, s kafa.516)

Ne hakkında? Bir şekilde Java kilitlenme durumunda yakalamak var mı? Yani, bizim kod çıkmaz bir durum oluştu anlayan bir yolu var mı?

CEVAP
20 EKİM 2008, PAZARTESİ


GÖRDÜM 1.5 yana ve oluşan kilitlenmeleri bulmak incelemek için java.lang.management paketi için çok faydalı bir yöntem vardır. ThreadMXBean sınıfı findMonitorDeadlockedThreads() findDeadlockedThreads() yöntemine bakın.

Bu kullanmak için olası bir yolu yok bu ayrı bir izleme iş parçacığı (veya periyodik görev).

Örnek kod:

  ThreadMXBean tmx = ManagementFactory.getThreadMXBean();
  long[] ids = tmx.findDeadlockedThreads();
  if (ids != null) {
     ThreadInfo[] infos = tmx.getThreadInfo(ids, true, true);
     System.out.println("The following threads are deadlocked:");
     for (ThreadInfo ti : infos) {
        System.out.println(ti);
     }
  }

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Chanre Joubert

    Chanre Joube

    27 Temmuz 2012
  • DJPixcell

    DJPixcell

    20 NİSAN 2007
  • The Platform

    The Platform

    14 HAZİRAN 2006