Kommunikation
aus www.iwiki.de, der freien Wissensdatenbank
Unter Kommunikation (lat. communicare „teilen, mitteilen, teilnehmen lassen; gemeinsam machen, vereinigen“) versteht man auf der menschlichen Ebene das gemeinsame Verfertigen von Wort, Schrift, Sprache, Gestik, Mimik oder Bild. In der IT entsteht eine Kommunikation meistens zwischen Computern oder Programmen.
Kommunikation von Java Threads
Bei der Kommunikation von Threads ist es wichtig das die Threads bzw. Prozesse miteinander kooperieren um das gemeinsame Ziel zu erreichen.
Man unterscheidet bei der Kommunikation (Austausch von Nachrichten) 2 Kategorien.
- nach dem Medium der Kommunikationsverbindung
- über einen gemeinsamen Speicher
- über ein Netz
- nach der Art der Kommunikationsverbindung
- "verbindungsorientierte" Kommunikation
- "verbindungslose" Kommunikation
Die meisten Anwendungen benutzen eine verbindungsorientierte Kommunikation.
Eine Möglichkeit der Kommunikation besteht über Semaphoren.
Eine andere Möglichkeit der Kommunikation ist über sogenannte Nachrichtenpuffer. In der Praxis werden diese Puffer mit begrenzter Kapazität angelegt. Ist der Nachrichtenpuffer leer blockiert der Empfänger, ist der Nachrichtenpuffer voll blockiert der Sender. Ansonsten arbeiten Sender und Empfänger unabhängig voneinander. So kann ein Sender seine Nachrichten solange in den Puffer schreiben wie noch ein Platz im Puffer vorhanden ist. Der Empfänger kann diese Nachrichten dann im Puffer abholen. Nachrichtenpuffer lassen sich auf verschiedene Arten implementieren. Dies sind unter anderem die Realisierung mit Semaphoren oder auch mit getrennter Synchronisation von Sendern und Empfängern.
