Search code examples
multithreadingdiagramdeadlockcontention

What type of diagram is best suited for visualizing threading issues such as contentions?


While debugging an issue with our system, I have discovered a thread contention that is causing a bottleneck. I need to explain the phenomenon to other people involved in handling this issue. Some of them are not from development team (yet, they are reasonably technical). So what type of diagrams can be used to depict threading issues such as contentions, deadlocks etc? Some examples would be very useful.


Solution

  • Doug Lea (concurrent programming in Java) uses A vertical time-line with columns for the threads, then a row in the column captures state at any given time.

    A succession of rows captures a sequence of events.

    The problem is that much of the discssion needs to consider various permutations of possible state changes.

    I wonder whether a PowerPoint animated version of these diagrams would help for the audience you have in mind.