Identificando Gargalos de Encadeamento

A Visualização de Encadeamento é a visualização principal para detectar gargalos de encadeamento. Exibe um registro da atividade de cada um dos encadeamentos do programa e ajuda a identificar contenções e conflitos do encadeamento.

Pré-requisito: Coletando Dados de Encadeamento

Uma contenção ocorre quando um encadeamento está aguardando um recurso que não está prontamente disponível; isso torna lenta a execução de seu código, mas pode melhorar ao longo do tempo.

Um conflito ocorre quando um encadeamento está aguardando por um recurso que um segundo encadeamento travou e o segundo encadeamento está aguardando por um recurso que o primeiro encadeamento travou. Mais de dois encadeamentos podem estar envolvidos em um conflito. Um conflito nunca é resolvido por si mesmo. Ele normalmente faz com que o aplicativo inteiro ou a parte que está sofrendo o conflito seja parado.

Para localizar contenções e conflitos de encadeamentos:

  1. Exiba a Visualização de Encadeamento: Clique com o botão direito do mouse no recurso de criação de perfis de Análise de Encadeamento e, em seguida, no menu pop-up, selecione Abrir Com > Visualização de Encadeamento.
  2. Na Visualização de Encadeamento, procure as setas verticais entre os encadeamentos. Uma única seta indica uma contenção de encadeamento: um encadeamento está aguardando que o outro libere uma trava. Múltiplas setas podem indicar um conflito. Um marcador em forma de losango indica que um encadeamento está aguardando por uma trava, mas o encadeamento que mantém a trava não pôde ser determinado.
  3. Pause o cursor sobre o segmento do encadeamento que está aguardando por uma trava. Isso exibe uma dica de ferramenta que especifica o nome da trava e identifica o encadeamento que está mantendo a trava.

A seguir está um exemplo de contenção:

Imagem da janela Visualização de Encadeamento com uma seta vertical indicando uma contenção

A seguir está um exemplo de conflito:

Imagem da janela Visualização de Encadeamento com um par de setas verticais que indicam um conflito

Nota: A criação de perfis de um programa com o tipo de criação de perfis Análise do Tempo de Execução permite coletar e exibir dados do encadeamento, mas apenas para os encadeamento nos estados Em Execução e Morto. Para exibir gargalos, é necessário incluir o tipo de criação de perfis Análise de Encadeamento no seu conjunto de criação de perfis.

Os seguintes tópicos fornecem instruções para controlar a Visualização de Encadeamento:

Tópico Pai: Detectando Gargalos de Encadeamento

Tarefas Relacionadas
Identificando Métodos por Trás de Gargalos de Encadeamento

Referências Relacionadas
Visualização de Encadeamento

Termos de Uso | Feedback
(C) Copyright IBM Corporation 2000, 2004. Todos os direitos reservados.