PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [java] Gibt es eine Technik um Threadingprobleme mit Absicht zu provozieren?


Senior Sanchez
2005-11-14, 11:28:08
Hi,

Threadingprobleme sind ja was schönes, zum Teil schwer zu finden, aber doch behebbar. Ich habe jetzt hier einen komplizierten Thread am laufen, der bisher die GUI-Änderungen nicht durch den EDT gejagt hat. (ist nicht mein code ;) ) Da das aber kritisch werden kann, eben weil es nicht durch den EDT behandelt wurde und somit Synchronisationsprobleme entstehen können, würde ich gerne versuchen, das Teil nach meinen Änderungen explizit darauf zu testen. Gibts da irgendeine Möglichkeit, das zu machen?

DocEW
2005-11-14, 12:58:00
Ohne jetzt das Problem in Gänze verstanden zu haben (was ist EDT?)...

Kannst du nicht die Threads in bestimmten Abschnitten pausieren lassen, so daß die Wahrscheinlichkeit, daß "böse" Sachen passieren steigt? Dazu müsste man allerdings sich schon überlegen, wo die Probleme auftreten könnten.

Senior Sanchez
2005-11-14, 13:13:18
Ohne jetzt das Problem in Gänze verstanden zu haben (was ist EDT?)...

Kannst du nicht die Threads in bestimmten Abschnitten pausieren lassen, so daß die Wahrscheinlichkeit, daß "böse" Sachen passieren steigt? Dazu müsste man allerdings sich schon überlegen, wo die Probleme auftreten könnten.

EDT = Event-Dispatch-Thread

Da Swing nicht thread-safe ist, sollte man, sofern man GUI-Änderungen per Nebenläufigkeit behandeln lassen will, diese durch den EDT abfertigen lassen, da dieser garantiert, dass keine ungewünschten Effekte auftreten.

Hmm, naja, weiß nich ob das pausieren helfen würde, eben Fehler durch nicht Behandlung durch den EDT zu finden.