Explaining Threading Related Problems to Co-workers or Customers Using Real-life Analogies

If there is a secret to communicating technical information to the non-technical, it is the use of analogies (a form of communication in which one topic is explained in terms of another). In other words, when you need to explain a technical issue, do it in terms of something that falls more into the listener’s experience of everyday life. Analogies can also be used in higher-level situations, such as the one you describe when you’re trying to sell an executive on a new initiative. They’re even more useful in those situations since you usually have some lead time and can think about some creative metaphors or similes.
Below is an analogy I use to explain multi-threading concepts to both technical and non-technical audience.
Multi-Threading is city traffic. Everyone understands it and threading (and especially threading problems) map onto it very easily and simply:

  • Simultaneity: many cars on a single highway
  • Blocking: that slow person in the car in front of you who won’t get out of your way
  • Deadlocks: you are at home looking out the window at a lovely scene of deadlock state. You see a line of cars in one direction gets backed up trying to make a left turn but they can’t make progress because they are blocked by another line of cars in the opposite direction also trying to make right turns. You laugh.
  • External/imposed locks: you are looking at all these people looking at you through their windshields at a 4 way stop sign
  • Priority: you are an ambulance driver speeding through red lights to save the day
  • Queuing: you waiting to order at a fast food drive thru
  • Stacks: you’re waiting for a parking spot
  • Race Conditions: you are a skier skiing down a magnificent mountain. There is a snowball getting bigger as it rolls down the same mountain. If you makes it to the end, you win. If the snowball makes it to the end, you are dead in an avalanche.

Hope that helps. Anybody else out there have any analogies that have served them well?