Animation von Flussalgorithmen - Grundsätzliches

Hallo,

ich bin derzeit mit einem Projekt beschäftigt, bei dem es um die grafische Darstellung von Flussalgorithmen geht. Es gibt ein Flussnetzwerk, was in Form einer JAVA-GUI (JAVA-Swing) vorliegt (Knoten, Kanten, Kantenbeschriftungen).

Ich führe nun einen Algorithmus auf dieses Flussnetzwerk aus (es existieren Modellklassen nach dem MVC-Prinzip).

Nun soll der Benutzer die „Einzelschritte“ meines Algorithmus am Flussnetzwerk (und damit auch Änderungen wie z.B. andere Kantenbeschriftungen) sehen können.

Ich denke das könnte man mit Threads lösen (ein Thread führt den Algorithmus aus, ein weiterer Thread kümmert sich um die grafische Darstellung. Entsprechend könnte man z.B. mit der sleep()-Methode arbeiten, um die Animation zeitlich zu regeln.

Gibt es noch eine weitere Möglichkeit, außer mit Threads zu arbeiten?
Wo liegen die Vor- und Nachteile?

Gruß, Ralf