3.2.13 Interprozesskommunikation

[gesichtete Version][gesichtete Version]
Keine Bearbeitungszusammenfassung
Zeile 19: Zeile 19:


<p>
<p>
Eine Synchronisation der beteiligten Threads beim Zugriff auf die gemeinsamen Datenbereiche wird erforderlich, da es hier zu [[Race_Conditions#Definition:_Race_Conditions|kritischen Abläufen]] kommt.
Eine [[Synchronisation]] der beteiligten Threads beim Zugriff auf die gemeinsamen Datenbereiche wird erforderlich, da es hier zu [[Race_Conditions#Definition:_Race_Conditions|kritischen Abläufen]] kommt.
</p>
</p>
<br />
==== Beispiel: Zwei Prozesse kommunizieren über gemeinsame Speicherobjekte ====
<p>
Unter ''Speicherobjekten'' kann man sich beispielsweise ''Dateien'' vorstellen.
</p>
<p>
<loop_area type="example">
<p>
Ein Prozess A erzeugt während seiner Laufzeit Daten und speichert diese in einer Datei ab. Ein zweiter Prozess B liest diese Datei zu einem späteren Zeitpunkt ein und kann so die enthaltenen Informationen weiterverarbeiten.
</p>
</loop_area>
</p>


<br />
<br />

Version vom 11. November 2013, 13:27 Uhr

{{#index:Interprozesskommunikation|Interprocess Communication|IPC}} Bei der Interprozesskommunikation (englisch: Interprocess Communication, kurz: IPC) geht es um den Austausch von Informationen zwischen zwei (oder mehr) Prozessen bzw. Threads. Damit alle Beteiligten die ausgetauschten Informationen in gleicher Weise verstehen können, sind bestimmte Regeln der Kommunikation einzuhalten.


Beispiel: Zwei Threads kommunizieren über gemeinsame Variablen

Beispiel

In dem Video zu den Race Conditions wurde Quellcode gezeigt, bei dem zwei Threads auf eine gemeinsame Variable counter zugreifen.

Prozessintern ist es also möglich, dass zwei (oder mehr) Threads sich gegenseitig Informationen über gemeinsame Datenbereiche bereitstellen.

Eine Synchronisation der beteiligten Threads beim Zugriff auf die gemeinsamen Datenbereiche wird erforderlich, da es hier zu kritischen Abläufen kommt.


Beispiel: Zwei Prozesse kommunizieren über gemeinsame Speicherobjekte

Unter Speicherobjekten kann man sich beispielsweise Dateien vorstellen.

Beispiel

Ein Prozess A erzeugt während seiner Laufzeit Daten und speichert diese in einer Datei ab. Ein zweiter Prozess B liest diese Datei zu einem späteren Zeitpunkt ein und kann so die enthaltenen Informationen weiterverarbeiten.




Diese Seite steht unter der Creative Commons Namensnennung 3.0 Unported Lizenz http://i.creativecommons.org/l/by/3.0/80x15.png