Heim  >  Artikel  >  Java  >  Java-Interview – Sprechen Sie über die Methode der Interprozesskommunikation

Java-Interview – Sprechen Sie über die Methode der Interprozesskommunikation

王林
王林nach vorne
2021-01-15 10:50:323368Durchsuche

Java-Interview – Sprechen Sie über die Methode der Interprozesskommunikation

Werfen wir zunächst einen Blick auf die Interviewfragen:

(Teilen von Lernvideos: Java-Video-Tutorial)

Interviewfrage eins: Methode der prozessübergreifenden Kommunikation (VIVO, Alibaba-Interviewfragen)

Interviewfrage zwei : Welche Prozesskommunikationsmethoden gibt es? Fragen Sie mich, wie man sie verwendet, welche Arten von Rohren es gibt und welche Vor- und Nachteile sie haben. (Baidu-Interviewfragen)

1. Der Zweck der Prozesskommunikation

1. Ein Prozess muss seine Daten an einen anderen Prozess senden.
2. Ressourcenfreigabe
Teilen derselben Ressourcen zwischen mehreren Prozessen.
3. Benachrichtigungsereignis
Ein Prozess muss eine Nachricht an einen anderen Prozess oder eine Gruppe von Prozessen senden, um ihn (sie) darüber zu informieren, dass ein bestimmtes Ereignis aufgetreten ist
4. Prozesssteuerung: Einige Prozesse möchten die Ausführung eines anderen Prozesses vollständig steuern (z. B. Debug-Prozess) Zu diesem Zeitpunkt hofft der Steuerungsprozess, alle Traps und Ausnahmen eines anderen Prozesses abfangen zu können und dessen Statusänderungen rechtzeitig zu erkennen.

(Empfehlungen für weitere verwandte Interviewfragen:

Java-Interviewfragen und -antworten)

2. Methoden der Prozesskommunikation

1. Pipe (Pipeline) ist eine Halbduplex-Kommunikationsmethode, Daten können nur gerichtet sein und kann nur zwischen verwandten Prozessen verwendet werden. Prozessaffinität bezieht sich normalerweise auf die Eltern-Kind-Prozessbeziehung.

2. Named Pipe (FIFO)

Named Pipe ist ebenfalls eine Halbduplex-Kommunikationsmethode, ermöglicht jedoch die Kommunikation zwischen unabhängigen Prozessen.

3. Signal
wird verwendet, um den empfangenden Prozess darüber zu informieren, dass ein Ereignis aufgetreten ist. Es wird hauptsächlich als Mittel zur Synchronisierung zwischen Prozessen und zwischen verschiedenen Threads desselben Prozesses verwendet.
4. Semaphore
Ein Semaphor ist ein Zähler, der verwendet werden kann, um den Zugriff auf gemeinsam genutzte Ressourcen durch mehrere Prozesse zu steuern. Es wird häufig als Sperrmechanismus verwendet, um zu verhindern, dass andere Prozesse auf eine gemeinsam genutzte Ressource zugreifen, während ein Prozess auf die Ressource zugreift.
5. Nachrichtenwarteschlange
Die Nachrichtenwarteschlange ist eine verknüpfte Liste von Nachrichten, die im Kernel gespeichert sind. Eine Nachrichtenwarteschlange wird durch eine Kennung (Warteschlangen-ID) identifiziert. Nachrichtenwarteschlangen überwinden die Nachteile weniger Signalübertragungsinformationen, Pipes können nur unformatierte Byteströme übertragen und begrenzte Puffergrößen.
6. Shared Memory
Shared Memory bezieht sich auf zwei oder mehr Prozesse, die sich einen bestimmten Speicherbereich teilen.
Eigenschaften:
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 + Shared Memory werden normalerweise zusammen verwendet, und Semaphore werden verwendet, um den Zugriff auf Shared Memory zu synchronisieren.
7. Socket
Socket ist im Gegensatz zu anderen Kommunikationsmechanismen auch für die Prozesskommunikation zwischen verschiedenen Maschinen geeignet. Verwandte Empfehlungen:
Java-Einführungs-Tutorial

Das obige ist der detaillierte Inhalt vonJava-Interview – Sprechen Sie über die Methode der Interprozesskommunikation. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen