# Übung 3: Überprüfen von Threads

In dieser Übung zeigen Sie die Thread-Gruppen, Threads und Stapelrahmen an, aus denen sich das Blinkprojekt zusammensetzt. Darüber hinaus verfolgen Sie die Änderungen der variablen Werte, während das Programm ausgeführt wird.

1. Wählen Sie "Fehlersuche" -> "Threads/Stapel".
   Das Fenster "Java Development Environment Threads/Stapel" wird angezeigt.

   Das Blinkprojekt enthält drei Thread-Gruppen, denen die Symbole zugeordnet sind:

   - `main`--enthält Threads, die in Java WorkShop ausgeführt werden
   - `sun.applet.AppletViewer.main`--enthält Threads, die im Applet-Viewer ausgeführt werden
   - `file:/your-installation-directory/jws/Blink/-threadGroup`--enthält Threads, die direkt dem Blinkprojekt zugeordnet sind
   Die Thread-Gruppe `sun.applet.AppletViewer.main` enthält drei Threads. Die Datei-Thread-Gruppe `Blink` enthält zwei Threads.
2. Zeigen Sie `"AWT-EventQueue-0"` an. Hierbei handelt es sich um den ersten Thread in der Thread-Gruppe `sun.applet.AppletViewer.main`.

   Folgende Angaben werden eingeblendet:

   - Der Thread-Name `java.awt.EventDispatch`.
   - Der Thread-Status "bei Haltepunkt".
   - Die Priorität für die Thread-Ausführung (Priorität 5). Der Thread mit der höchsten Priorität wird zuerst ausgeführt.

   Das neben dem Thread angegebene Symbol dient als zusätzlicher Hinweis auf den Thread-Status. Folgende Symbole können angezeigt werden:
   Der Thread ist unterbrochen.
   Der Thread wurde an einem Haltepunkt gestoppt.
   Der Status des Thread kann nicht bestimmt werden.
   Der Thread ist ein Zombie.
   Der Thread wird ausgeführt.
   Die Thread-Ausführung pausiert.
   Der Thread wartet auf eine Bedingungsvariable.

3. Zeigen Sie den Aufrufstapel an, aus dem die Thread-Klasse besteht.
   Der Aufrufstapel enthält sämtliche Methoden, die aufgerufen, aber nicht zurückgegeben wurden. Die zum Zeitpunkt der Unterbrechung ausgeführte Datei `Blink.paint` befindet sich an oberster Position des Stapels. Anhand des hervorgehobenen Stapelrahmens können Sie leicht erkennen, an welcher Stelle die Programmausführung gestoppt wurde. Neben jedem Stapelrahmen sind die Symbole angezeigt.
4. Öffnen Sie den Stapelrahmen `Blink.paint` durch Klicken auf das neben dem folgenden Symbol angezeigte Pluszeichen (+).
   Die Variablen und deren aktuell für die Datei `Blink.paint` gültige Werte werden durch Java Development Environment angezeigt. Überprüfen Sie die Variable `word` und anschließend deren Wert.
5. Klicken Sie in der Symbolleiste "Bearbeiten/Debug" auf die Schaltfläche "Gehe zu".
   Das Programm durchläuft die Schleife und stoppt, wenn der Haltepunkt ein zweites Mal erreicht wird. Die Anzeige "Threads/Stapel" wird aktualisiert, und der Wert der Variablen `word` wird geändert. Der Wert durchläuft nacheinander die Worte "Java Development Environment is really cool :-)".
6. Öffnen Sie das Objekt `this` durch Klicken auf das Pluzeichen (+) neben dem Symbol
   Das Objekt wird durch Java Development Environment eingeblendet, so daß alle in dem Objekt enthaltenen Dateien angezeigt werden. Diese Aktion kann für verschachtelte Objekte wiederholt werden (z. B. `peer`).
7. Klicken Sie auf das Minuszeichen (-) links neben dem Objekt `this`.
   Das Objekt wird durch Java Development Environment ausgeblendet.

Nächste Übung:

  Übung 4: Überprüfen der einzelnen Schritte einer Methode