Okay, this article made me feel stupid, given that I've been outside of a CS department for over a decade.<p>A brief Googling/Wiki-ing explains that they are used to solve certain concurrency problems, but without further explanation.  Can somebody give me a practical, real world example of a problem this kind of strategy is supposed to help solve?  I feel like I'm missing out on something...