ERLEDIGT
NEIN
NEIN
ANTWORTEN
1
1
ZUGRIFFE
386
386
EMPFEHLEN
-
08.10.08 07:59 #1
- 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?
-
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
AndibertThere are 10 kind of people, those who understand binary and those who don't.
Ähnliche Themen
-
Deadlocks/Timeout MySQL
Von na205 im Forum Relationale DatenbanksystemeAntworten: 1Letzter Beitrag: 14.01.07, 12:27 -
Deadlocks finden mit dem Lockness Threaddump Analyser Plugin für Eclipse
Von Thomas Darimont im Forum JavaAntworten: 0Letzter Beitrag: 18.09.06, 15:43





Zitieren
Login





