Zu den Methoden der Interprozesskommunikation gehören: 1. Pipes beziehen sich normalerweise auf unbenannte Pipes, die die älteste Form von IPC in UNIX-Systemen sind; 2. FIFO, ein Dateityp; 3. Nachrichtenwarteschlange, die verknüpft ist Liste der Nachrichten und wird im Kernel gespeichert. 4. Semaphor, ein Zähler. 5. Gemeinsamer Speicher.
Die Betriebsumgebung dieses Artikels: Windows 7-System, Dell G3-Computer.
Die Methoden der Interprozesskommunikation sind:
1. Pipes
Pipes, üblicherweise als unbenannte Pipes bezeichnet, sind die älteste Form von IPC in UNIX-Systemen.
Eigenschaften:
Es ist Halbduplex (d. h. Daten können nur in eine Richtung fließen) mit festen Lese- und Schreibenden.
Es kann nur für die Kommunikation zwischen Prozessen verwendet werden, die eine Beziehung haben (auch zwischen Eltern-Kind-Prozessen oder Geschwisterprozessen).
Es kann als spezielle Datei betrachtet werden, und zum Lesen und Schreiben können auch normale Lese-, Schreib- und andere Funktionen verwendet werden. Es handelt sich jedoch nicht um eine gewöhnliche Datei, sie gehört zu keinem anderen Dateisystem und existiert nur im Speicher.
2. FIFO
FIFO, auch Named Pipe genannt, ist ein Dateityp.
1. Funktionen
FIFO kann im Gegensatz zu namenlosen Pipes Daten zwischen unabhängigen Prozessen austauschen.
FIFO ist mit einem Pfadnamen verknüpft und liegt im Dateisystem als spezielle Gerätedatei vor.
3. Nachrichtenwarteschlange
Die Nachrichtenwarteschlange ist eine verknüpfte Liste von Nachrichten, die im Kernel gespeichert sind. Eine Nachrichtenwarteschlange wird durch eine Kennung (Warteschlangen-ID) identifiziert.
Funktionen
Die Nachrichtenwarteschlange ist datensatzorientiert und die darin enthaltenen Nachrichten haben ein bestimmtes Format und eine bestimmte Priorität.
Die Nachrichtenwarteschlange ist unabhängig von den Sende- und Empfangsvorgängen. Wenn der Prozess beendet wird, werden die Nachrichtenwarteschlange und ihr Inhalt nicht gelöscht.
Die Nachrichtenwarteschlange kann eine zufällige Abfrage von Nachrichten realisieren. Die Nachrichten müssen nicht in der Reihenfolge „First In, First Out“ gelesen werden, sondern können auch entsprechend der Art der Nachricht gelesen werden.
4. Semaphor
Der Semaphor unterscheidet sich von der bereits vorgestellten IPC-Struktur. Es handelt sich um einen Zähler. Semaphoren werden verwendet, um gegenseitigen Ausschluss und Synchronisierung zwischen Prozessen zu implementieren, anstatt Kommunikationsdaten zwischen Prozessen zu speichern.
Funktionen
Semaphor wird für die prozessübergreifende Synchronisierung verwendet und muss mit einem gemeinsamen Speicher kombiniert werden.
Das Semaphor basiert auf der PV-Operation des Betriebssystems, und die Operationen des Programms am Semaphor sind alle atomare Operationen.
Jede PV-Operation an einem Semaphor ist nicht auf das Addieren von 1 oder das Subtrahieren von 1 zum Semaphorwert beschränkt, sondern kann auch jede positive ganze Zahl addieren oder subtrahieren.
Unterstützen Sie Semaphorgruppen.
5. Shared Memory
Shared Memory (gemeinsam genutzter Speicher) bezieht sich auf zwei oder mehr Prozesse, die sich einen bestimmten Speicherbereich teilen.
Funktionen
Shared Memory ist der schnellste IPC-Typ, da der Prozess direkt auf den Speicher zugreift.
Da mehrere Prozesse gleichzeitig ablaufen können, ist eine Synchronisierung erforderlich.
Semaphore + gemeinsam genutzter Speicher werden normalerweise zusammen verwendet, und Semaphore werden verwendet, um den Zugriff auf den gemeinsam genutzten Speicher zu synchronisieren.
Wenn Sie mehr über das Programmieren erfahren möchten, achten Sie bitte auf die Rubrik php-Schulung!
Das obige ist der detaillierte Inhalt vonWelche Methoden der prozessübergreifenden Kommunikation gibt es?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!