¿Qué tipo de diagrama es el más adecuado para la visualización de los problemas de subprocesamiento como contenciones?

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

Pregunta

Al depurar un problema con nuestro sistema, he descubierto un thread que está causando un cuello de botella.Tengo que explicar el fenómeno a otras personas involucradas en el manejo de este problema.Algunos de ellos no son del equipo de desarrollo, sin embargo, son razonablemente técnica).Entonces, ¿qué tipo de diagramas puede ser utilizado para representar problemas de subprocesamiento como contenciones, interbloqueos, etc?Algunos ejemplos serían muy útiles.

¿Fue útil?

Solución

Doug Lea (programación concurrente en Java) utiliza una línea de tiempo vertical con columnas para los hilos, a continuación, una fila de la columna de captura estado en cualquier momento dado.

Una sucesión de filas captura una secuencia de eventos.

El problema es que gran parte de la discssion hay que considerar varias permutaciones de posibles cambios de estado.

Me pregunto si hay una versión animada de PowerPoint de estos diagramas ayudaría a la audiencia que tiene en mente.

Otros consejos

De la misma manera uno diagrama de comunicación de red en el nivel de datagramas.

Por ejemplo, se dibuja una línea de tiempo para cada hilo, y luego su comunicación a través del hilo consiste en líneas que conectan las líneas de tiempo en los puntos de enviar a uno, y la recepción en el otro.

Wait-para los gráficos pueden ser útiles, que ayudan a diagrama las dependencias entre los recursos y los hilos.

Si no tiene por qué ser un diagrama que podría escribir programas simples (detallado). Al igual que la forma en cualquier libro de texto enseñan cuestiones de concurrencia / punto muerto.

Diagramas de secuencia de UML son probablemente la mejor opción.Para mostrar varios subprocesos, cada hilo tiene una barra vertical para mostrar el inicio y la terminación (termination es una X en la parte inferior de la barra), de la rosca.Las flechas entre las barras verticales muestran mensajes pasados entre los hilos, mientras que una flecha que apunta de nuevo a sí mismo muestra el hilo hacer una llamada en sí mismo.

Para algunos ejemplos, véase: http://www.agilemodeling.com/artifacts/sequenceDiagram.htm

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top