tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
1
ZUGRIFFE
386
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    firmadankt firmadankt ist offline Mitglied Bronze
    Registriert seit
    Nov 2007
    Beiträge
    29
    Hallo zusammen,

    es kommt hin und wieder vor, dass unsere Applikation nicht mehr reagiert und nicht mehr neu gezeichnet wird. Meine Vermutung ist nun ein Deadlock, der mit Swingutilities.invokeAndWait() zusammen hängen könnte (was leider des öfteren verwendet wird).

    Nun meine Frage:
    Wi kann man festzustellen, welche Locks von einem bestimmten Thread gehalten werden, um einen Deadlock von vornherein auszuschließen?
     

  2. #2
    Andibert Andibert ist offline Mitglied Silber
    Registriert seit
    Sep 2006
    Ort
    Hildesheim
    Beiträge
    90
    Wenn die Applikation nicht mehr neu gezeichnet wird vermute ich eher, dass der Event Dispatch Thread blockiert ist.
    Dementsprechent solltets du checken dass du folgende Punkte eingehalten hast:

    Keine Aufrufe von Invoke and Wait aus dem Dispatch Thread (falls das überhaupt geht). Zum Beispiel aus Eventhandlern heraus.

    Keine blockierenden Aufrufe aus dem EDT (z.B. Stream.read()). Immer wenn die Methode die aufgerufen wird eine lange Antwortzeit hat, weil sie beispielsweise darauf wartet aus dem Stream lesen zu können, blockiert sie solange ihren Thread.

    Invoke and Wait nur aufrufen wenn auch gewartet werden muss, sonst invokeLater

    Hoffe konnte schon mal nen bisserl helfen.

    Mit richtigem Debuggen kenn ich mich leider nicht so gut aus.

    MfG

    Andibert
     
    There are 10 kind of people, those who understand binary and those who don't.

Ähnliche Themen

  1. Deadlocks/Timeout MySQL
    Von na205 im Forum Relationale Datenbanksysteme
    Antworten: 1
    Letzter Beitrag: 14.01.07, 12:27
  2. Antworten: 0
    Letzter Beitrag: 18.09.06, 15:43