Inhaltsverzeichnis:

Wie kommunizieren Threads miteinander?
Wie kommunizieren Threads miteinander?

Video: Wie kommunizieren Threads miteinander?

Video: Wie kommunizieren Threads miteinander?
Video: Python #30 - Kommunikation zwischen Threads 2024, April
Anonim

Es gibt drei Möglichkeiten für Fäden zu miteinander kommunizieren . Der erste ist durch gemeinsam genutzte Daten. All die Fäden im gleichen Programm den gleichen Speicherplatz teilen. Wenn ein Objekt für verschiedene zugänglich ist Fäden dann diese Fäden den Zugriff auf das Datenelement dieses Objekts teilen und somit miteinander kommunizieren.

Die Leute fragen auch, wie kommuniziert man zwischen zwei Threads?

Verstehen des Prozesses der Interthread-Kommunikation

  1. Threads treten ein, um eine Sperre zu erlangen.
  2. Die Sperre wird von einem Thread erworben.
  3. Jetzt geht der Thread in den Wartezustand, wenn Sie die Methode wait() für das Objekt aufrufen.
  4. Wenn Sie die Methode benachrichtigen () oder benachrichtigenAll () aufrufen, wechselt der Thread in den benachrichtigten Zustand (ausführbaren Zustand).

Zweitens, was ist die Wartemethode im Thread? Einfach gesagt, Warten () ist eine Instanz Methode das wird verwendet für Gewinde Synchronisation. Es kann für jedes Objekt aufgerufen werden, da es direkt in Java definiert ist. lang. Objekt, kann aber nur von einem synchronisierten Baustein aufgerufen werden. Es gibt die Sperre des Objekts frei, so dass ein anderes Gewinde kann hineinspringen und eine Sperre erwerben.

Außerdem, wie erreichen Sie die Kommunikation zwischen den Threads?

Interthread-Kommunikation in Java

  1. wait() - Es weist den aufrufenden Thread an, die Sperre aufzugeben und in den Ruhezustand zu gehen, bis ein anderer Thread denselben Monitor betritt und benachrichtigen() aufruft.
  2. benachrichtigen () - Es weckt einen einzelnen Thread auf, der wait () für dasselbe Objekt aufgerufen hat.
  3. notificationAll () - Es weckt alle Threads auf, die wait () für dasselbe Objekt aufgerufen haben.

Wie verwenden Sie Warten und Benachrichtigen in Java-Threads?

Wenn synchronisiert(this) verwendet wird, müssen Sie vermeiden, Aufrufe von Methoden anderer Objekte zu synchronisieren. Warten () sagt dem Rufenden Gewinde den Monitor aufgeben und schlafen gehen, bis ein anderer Gewinde betritt denselben Monitor und ruft an benachrichtigen (). benachrichtigen () wacht als erster auf Gewinde das rief Warten () auf dem gleichen Objekt.

Empfohlen: