iAZ
Mitglied
Hallo ihr,
Ich arbeite gerade an einem kleinen Problem in Java: finde den kürzesten Weg in einem Labirinth.
Ich hab schon ein bisschen geplant, wie ich das mache:
Jetzt zu meinem Problem:
Das Array aus der Datei zu lesen, habe ich schon geschafft. Aber ich hab nicht wirklich Ahnung, wie ich das Speichere. Meiner Meinung nach, wäre eine Globale Variable, auf die jeder Thread zugreifen kann das beste. Aber da Java eine OO-Sprache ist, wäre die Lösung nicht so schön. Wenn ich das Objekt mit dem Array an jeden Thread übergebe, wie Garantiere ich dann, dass jeder Thread die aktuelle Version hat?
Danke,
AZ
Ich arbeite gerade an einem kleinen Problem in Java: finde den kürzesten Weg in einem Labirinth.
Ich hab schon ein bisschen geplant, wie ich das mache:
- Lese aus einer Datei Die Zahlen in ein 2-dimensionales Array: 0=>Wand; 1=>Weg; 2=>Start; 3=>Ziel
- Suche den Start Starte in jede Richtung einen Thread
- Thread: gehe solange in eine Richtung, bis eine Kreuzung oder Saggasse kommt; Schreibe die Anzahl der Züge in das Feld.
- Wenn Kreuzung: starte in jede Richtung (außer in die, woher du gekommen bist) einen eigenen Thread und beende den aktuellen.
- Wenn Saggasse: starte thread, der zurück bis zu einer Kreuzung geht und den Weg überschreibt.
- Wenn Ziel: warte bis alle threads beendet sind und gehe den kürzesten Weg (d.h. der wo die kleinste Zahl steht) zurück und kennzeichne ihn entsprechend
Jetzt zu meinem Problem:
Das Array aus der Datei zu lesen, habe ich schon geschafft. Aber ich hab nicht wirklich Ahnung, wie ich das Speichere. Meiner Meinung nach, wäre eine Globale Variable, auf die jeder Thread zugreifen kann das beste. Aber da Java eine OO-Sprache ist, wäre die Lösung nicht so schön. Wenn ich das Objekt mit dem Array an jeden Thread übergebe, wie Garantiere ich dann, dass jeder Thread die aktuelle Version hat?
Danke,
AZ