Esercizio 3: Esame dei thread

In questo esercizio verranno esaminati i gruppi di thread, i thread e le cornici dello stack che costituiscono il progetto Blink. Verrà inoltre spiegato come tenere traccia delle modifiche nei valori delle variabili durante l'esecuzione del programma.
  1. Scegliere Debug -> Thread/stack.
    Verrà visualizzata la finestra Thread/stack di Java Workshop.

    Il progetto Blink è costituito da tre gruppi di thread, ciascuno dei quali è accompagnato dal simbolo :

    Il gruppo di thread sun.applet.AppletViewer.main contiene tre thread, mentre il gruppo di thread di file Blink ne contiene due.
  2. Di seguito viene esaminato "AWT-EventQueue-0", il primo thread del gruppo di thread sun.applet.AppletViewer.main.

    Sarà possibile notare quanto segue:

    Il simbolo associato a ciascun thread è un'ulteriore indicazione sullo stato del thread. Alcuni dei simboli che possono essere associati ai thread sono:
    Il thread è sospeso.
    Il thread è interrotto a un breakpoint.
    È impossibile determinare lo stato del thread.
    Il thread è uno zombie.
    Il thread è in esecuzione.
    Il thread è inattivo.
    Il thread è in attesa di una variabile condizionale.

  3. Esaminare lo stack delle chiamate che compone la classe del thread.
    Lo stack delle chiamate include tutti i metodi che sono stati richiamati, ma che non sono stati restituiti.Blink.paint, che era in esecuzione quando è stato interrotto il programma, è il primo dello stack. La cornice dello stack è evidenziata in modo da facilitare l'individuazione del punto in cui è stato interrotto il programma. Ciascuna cornice dello stack è accompagnata dal simbolo .
  4. Aprire la cornice dello stack Blink.paint facendo clic sul segno più (+) accanto al simbolo .
    Verranno visualizzati le variabili e i valori correnti locali di Blink.paint. Esaminare la variabile word e il valore a essa associato.
  5. Fare clic sul pulsante Vai sulla barra degli strumenti dell'editor/debug.
    Il programma esegue il ciclo e si interrompe quando incontra il breakpoint per la seconda volta. I dati visualizzati nella finestra Thread/stack verranno aggiornati e il valore associato alla variabile word modificato. Il valore tornerà ciclicamente a "Java Development Environment è davvero incredibile :-)".
  6. Aprire l'oggetto this facendo clic sul segno più (+) accanto al simbolo .
    Java Development Environment espanderà l'oggetto in modo da mostrare tutte le variabili contenute al suo interno. Questa operazione può essere ripetuta sugli oggetti annidati, ad esempio peer.
  7. Fare clic sul segno meno (-) a sinistra dell'oggetto this.
    L'oggetto verrà compresso.

Lezione successiva

Esercizio 4: Esecuzione di un metodo un'istruzione o una routine alla volta