Identificazione dei colli di bottiglia del thread

La Vista Thread è la vista principale per il rilevamento dei colli di bottiglia del thread. Visualizza un record dell'attività di ciascun thread del programma e consente di identificare i conflitti e le condizioni di stallo dei thread.

Prerequisiti: Raccolta dei dati di thread

Un conflitto si verifica quando un thread è in attesa di una risorsa non attualmente disponibile; rallenta l'esecuzione del programma, completandone comunque l'esecuzione.

Una condizione di stallo si verifica quando un thread è in attesa di una risorsa che un secondo thread ha bloccato e il secondo thread è in attesa di una risorsa bloccata dal primo thread. In una condizione di stallo possono essere coinvolti più di due thread. Una condizione di stallo non si risolve mai da sola. Spesso causa l'arresto dell'intera applicazione o della parte di essa coinvolta nella situazione di stallo.

Per individuare i conflitti e le condizioni di stallo del thread:

  1. Visualizzare la Vista Thread: fare clic con il pulsante destro del mouse sulla risorsa di creazione profili Analisi Thread, quindi nel menu a comparsa selezionare Apri con > Vista Thread.
  2. Nella Vista Thread, cercare le frecce verticali tra i thread. Una freccia singola indica un conflitto di thread: un thread è in attesa di un altro thread per rilasciare un blocco. Più frecce possono indicare una condizione di stallo. Un indicatore a forma di rombo indica che un thread è in attesa di un blocco, ma il thread che detiene il blocco non può essere determinato.
  3. Posizionare il cursore su un segmento del thread in attesa di un blocco. Viene visualizzata una descrizione comandi che specifica il nome del blocco ed identifica il thread che detiene il blocco.

Di seguito viene riportato un esempio di conflitto:

Finestra Vista Thread con una freccia verticale che indica un conflitto

Di seguito viene riportato un esempio di condizione di stallo:

Finestra Vista Thread con una coppia di frecce verticali che indica una condizione di stallo

Nota: La creazione profili di un programma con il tipo di creazione profili Analisi dei tempi di esecuzione consente di raccogliere e visualizzare solo i dati dei thread nello stato In esecuzione e Inattivo. Per visualizzare i colli di bottiglia, è necessario includere il tipo di creazione profili Analisi thread nella serie di creazione profili.

I seguenti argomenti forniscono istruzioni per il controllo della Vista Thread:

Argomento principale: Rilevamento dei colli di bottiglia del thread

Attività correlate
Identificazione dei metodi implicati nei colli di bottiglia del thread

Riferimenti correlati
Vista Thread

Clausole di utilizzo | Commenti
(C) Copyright IBM Corporation 2000, 2004. Tutti i diritti riservati.