pablo
01-05-2007, 00:54
Hi,
es gibt ja die unnamed pipes mit denen verwandte prozesse miteinander kommunizieren koennen.
Mal folgendes Szenario angenommen, Prozess A (Parent) schreibt immer zwei Zahlen an Prozess B (Child).
Die beiden Zahlen werden mit jeden Mal um eins aufaddiert (in A). Prozess B soll dann jeweils nach erhalten eines Zahlenpaars, diese addieren und dann auf der stdout ausgeben.
A B
1 1 --> 1+1, gibt 2 aus
2 2 --> 2+2, gibt 4 aus
3 3 --> 3+3, gibt 6 aus
... etc
Nun habe ich wo gelesen, dass unnamed pipes im Gegensatz zu shared memory keine Synchronisationsmassnahmen erforden.
Nun frage ich mich wie das gemeint ist.
Denn zB in dem hier genannten Szenario, muss ja Prozess A warten bis Prozess B die beiden Zahlen verarbeitet und ausgegeben hat, bevor er den naechsten Zahlenwert in die pipe schreiben kann!?
Sprich ich braeuchte zusaetzlich zu der "Daten-pipe" von A nach B, auch noch eine Pipe in der Prozess B dem Prozess A mitteilt wenn er mit der verarbeitung und Ausgabe der daten fertig ist.
ich glaub ich bin etwas verwirt!?
es gibt ja die unnamed pipes mit denen verwandte prozesse miteinander kommunizieren koennen.
Mal folgendes Szenario angenommen, Prozess A (Parent) schreibt immer zwei Zahlen an Prozess B (Child).
Die beiden Zahlen werden mit jeden Mal um eins aufaddiert (in A). Prozess B soll dann jeweils nach erhalten eines Zahlenpaars, diese addieren und dann auf der stdout ausgeben.
A B
1 1 --> 1+1, gibt 2 aus
2 2 --> 2+2, gibt 4 aus
3 3 --> 3+3, gibt 6 aus
... etc
Nun habe ich wo gelesen, dass unnamed pipes im Gegensatz zu shared memory keine Synchronisationsmassnahmen erforden.
Nun frage ich mich wie das gemeint ist.
Denn zB in dem hier genannten Szenario, muss ja Prozess A warten bis Prozess B die beiden Zahlen verarbeitet und ausgegeben hat, bevor er den naechsten Zahlenwert in die pipe schreiben kann!?
Sprich ich braeuchte zusaetzlich zu der "Daten-pipe" von A nach B, auch noch eine Pipe in der Prozess B dem Prozess A mitteilt wenn er mit der verarbeitung und Ausgabe der daten fertig ist.
ich glaub ich bin etwas verwirt!?