Interprozesskommunikation?

... komplette Frage anzeigen

1 Antwort

Eine Message Queue kann verschieden implementiert sein. Wenn sie von deinem OS angeboten wird ist sichergestellt, dass nur vollständige Messages weitergereicht werden, also ist sie automatisch synchronisiert. Wenn sie selbst per SHM implementiert wurde muss man innerhalb der Message Queue natürlich wieder synchronisieren.

Dateien sind nicht synchronisiert. Als gemeinsam nutzbare Resource muss man noch einen zusätzlichen Mechanismus zur Synchronisierung einbauen. Wenn nur ein Prozess auf die Datei schreibt kann dies aber in der Datei selbst gemacht werden (Newline oder anderes Steuerzeichen).

Eine Pipe ist eigentlich nicht synchronisiert. Die Daten, die am einen Ende der Pipe ausgegeben werden sind vom Input abhängig. Wenn mehrere Threads auf die Pipe schreiben musste du das synchronisieren. Sonst kann am anderen Ende der Pipe eine Vermischung der Daten aus den schreibenden Threads herauskommen.

Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?