Benutzer-Werkzeuge

Webseiten-Werkzeuge


api:documentation:threads:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
api:documentation:threads:start [2024/10/28 21:31] – [Race condition und Lösungen] martinapi:documentation:threads:start [2024/10/28 21:34] (aktuell) – [Synchronized-Methode] martin
Zeile 127: Zeile 127:
 <WRAP center round info 80%> <WRAP center round info 80%>
 {{ :api:documentation:threads:synchronized_method.svg?400|synchronized method sequence diagram}} {{ :api:documentation:threads:synchronized_method.svg?400|synchronized method sequence diagram}}
-Setzt man vor die Deklaration der Methode ''increment'' das Schlüsselwort ''synchronized'', so sorgt der Compiler dafürdass zur Laufzeit jeweils nur ein Thread die Methode "betreten" darf. Nachfolgende Threads werden **blockiert** (d.h. in der Ausführung angehalten) bis der erste Thread die Methode wieder verlassen hat. Erst dann wird einer der blockierten Threads wieder fortgesetzt.+Wir brauchen eine Möglichkeit, um zu verhindern, dass mehr als ein Thread gleichzeitig den **kritischen Abschnitt** (in unserem Fall die Methode ''increment'') betritt. Dies leistet das Schlüssel wort ''synchronized'' bei der Deklaration der Methode ''increment''. Es weist den Compiler anCode zu generieren, der zur Laufzeit sicherstellt, dass jeweils nur einen Thread die Methode "betreten" darf. Nachfolgende Threads werden **blockiert** (d.h. in der Ausführung angehalten) bis der erste Thread die Methode wieder verlassen hat. Erst dann wird einer der blockierten Threads wieder fortgesetzt.
   * Vergleichen Sie die Deklaration der Methode ''increment'' im folgenden Programm mit der Deklaration im vorangegangenen Programm.   * Vergleichen Sie die Deklaration der Methode ''increment'' im folgenden Programm mit der Deklaration im vorangegangenen Programm.
   * Starten Sie das Programm mehrmals. Erklären Sie die Ausgabe!   * Starten Sie das Programm mehrmals. Erklären Sie die Ausgabe!
Zeile 184: Zeile 184:
  
 </HTML> </HTML>
 +
 +
 +===== Monitorkonzept =====
 +
api/documentation/threads/start.1730147513.txt.gz · Zuletzt geändert: 2024/10/28 21:31 von martin