Hallo!
Über die Suchfunktion habe ich bereits folgendes Thema gefunden
http://www.java-forum.org/allgemeine-java-themen/55876-threads-pipes-ubergabe-objekten-moe.html
da es geschlossen ist kann ich das Thema dort leider nicht weiter führen.
So wie es scheint hat man uns die gleiche Aufgabenstellung zukommen lassen:
Ein vorhandes kleines Adressverwaltungsprogramm nach den folgenden Vorgaben um zu schreiben.
Ein Thread für die GUI bzw. Konsolenausgabe
Ein Thread für das Laden und Speichern der Daten in eine persistente Datei
Ein Thread der das Ganze kontrollliert. (?Controller Thread)
Die Daten sollen über eine Pipe ausgetauscht werden.
Mit der Pipe habe ich dank des alten Themas keine Probleme mehr. Dank ObjectOutputStream kann ich meinen ganzen "Vector-Speicher" übergeben, vorausgesetzt ich caste es auf der anderen seite der Pipe entsprechend
Im Moment rufe ich das aber alles noch prozedural auf, das heisst der Thread wird erst in der Methode
save() gestartet, ebenso verhält es sich mit load() umd die datne zu laden. Dafür hätte ich ja jetzt keine Threads gebraucht...
Ich habe keine Ahnung wie ich das einen dritten Thread kontrollieren lassen soll.
Noch mehr Pipes? Über die ich dann Steuerzeichen Sende?
S für speichern L für load ... das kommt mir ein wenig abenteurlich vor...
Über die Suchfunktion habe ich bereits folgendes Thema gefunden
http://www.java-forum.org/allgemeine-java-themen/55876-threads-pipes-ubergabe-objekten-moe.html
da es geschlossen ist kann ich das Thema dort leider nicht weiter führen.
So wie es scheint hat man uns die gleiche Aufgabenstellung zukommen lassen:
Ein vorhandes kleines Adressverwaltungsprogramm nach den folgenden Vorgaben um zu schreiben.
Ein Thread für die GUI bzw. Konsolenausgabe
Ein Thread für das Laden und Speichern der Daten in eine persistente Datei
Ein Thread der das Ganze kontrollliert. (?Controller Thread)
Die Daten sollen über eine Pipe ausgetauscht werden.
Mit der Pipe habe ich dank des alten Themas keine Probleme mehr. Dank ObjectOutputStream kann ich meinen ganzen "Vector-Speicher" übergeben, vorausgesetzt ich caste es auf der anderen seite der Pipe entsprechend
Code:
...
try{
PipedOutputStream pout = new PipedOutputStream(pin);
Speichern sp = new Speichern(pin);
sp.start();
ObjectOutputStream ous = new ObjectOutputStream(pout);
ous.writeObject(speicher);
ous.close();
} catch (FileNotFoundException ex) {
System.err.println("Es wurde keine Datei gefunden!" + ex.getMessage());
} catch (IOException ex) {
System.err.println("Es ist ein Problem aufgetreten! \n" + ex.getMessage());
}
...
Im Moment rufe ich das aber alles noch prozedural auf, das heisst der Thread wird erst in der Methode
save() gestartet, ebenso verhält es sich mit load() umd die datne zu laden. Dafür hätte ich ja jetzt keine Threads gebraucht...
Ich habe keine Ahnung wie ich das einen dritten Thread kontrollieren lassen soll.
Noch mehr Pipes? Über die ich dann Steuerzeichen Sende?
S für speichern L für load ... das kommt mir ein wenig abenteurlich vor...