Que tipo de diagrama é mais adequado para a visualização de problemas de segmentação, como contendas?

StackOverflow https://stackoverflow.com/questions/1106221

Pergunta

Durante a depuração um problema com o nosso sistema, eu descobri uma contenção thread que está causando um gargalo. Preciso explicar o fenômeno a outras pessoas envolvidas no tratamento deste problema. Alguns deles não são da equipe de desenvolvimento (ainda, eles são razoavelmente técnico). Então, que tipo de diagramas podem ser usados ??para problemas de threading retratam como contendas impasses etc? Alguns exemplos seria muito útil.

Foi útil?

Solução

Doug Lea (programação concorrente em Java) utiliza uma linha de tempo vertical com colunas para os fios, em seguida, uma linha na Estado captações coluna em um determinado momento.

Uma sucessão de linhas captura uma seqüência de eventos.

O problema é que grande parte das necessidades discssion considerar várias permutações de alterações possíveis do estado.

Gostaria de saber se uma versão do PowerPoint animado desses diagramas ajudaria para o público que você tem em mente.

Outras dicas

Da mesma forma que um diagramas de comunicação de rede no nível datagrama.

Por exemplo, você desenha uma linha do tempo para cada thread, e depois a sua comunicação inter-thread é composto por linhas que ligam esses prazos nos pontos de envio em um, e receber do outro.

grafos de espera pode ser útil, o que ajuda ao diagrama as dependências entre recursos e tópicos.

Se ele não tem que ser um diagrama você pode escrever programas simples (detalhado). Assim como a forma como quaisquer livros ensinam problemas de concorrência / impasse.

Os diagramas de sequência de UML são provavelmente a melhor escolha. Para mostrar vários segmentos, cada segmento tem uma barra vertical que mostra o início e de terminação (terminação é um X na parte inferior da barra), do fio. Setas entre as barras verticais mostram mensagens passadas entre threads, enquanto uma seta que aponta de volta para si mostra o fio fazer uma chamada em si.

Para alguns exemplos, ver: http://www.agilemodeling.com/artifacts/sequenceDiagram htm

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top