When talking about 'concurrency' in computer systems (multiple processes or threads executing at the same time), it is sometimes said that a process 'blocks'. This has to do with one process holding some resource, and another process having to wait its turn to access that resource until the first process is finished and releases it.

Now, if I was coming in from the cold and hearing the expression 'blocks' for the first time, I would probably tell myself something similar to the following story, and try to reason out the meaning and proper usage of 'block' from it:

JP is a hungry process that is eating the chocolate cake.

Jeff is a hungry process that sees the chocolate cake, and wants to partake of its chocolatey goodness too.

Jeff reaches for the cake, but in a bold move, JP holds his hand out and prevents Jeff from getting to the cake!

How should I go about describing this stalemate? Well, that's easy, I would say that JP 'blocks' Jeff from accessing the cake.

I might also say that Jeff 'is Blocked' by JP. To summarize: JP is blocking, he blocks Jeff, and Jeff is blocked.

You are perhaps saying, "Yes, we get it, this is an easy and straightforward story to understand, you need not repeat yourself so many times... JP is blocking, he blocks Jeff, Jeff is blocked. We understand, we see the analogy, concurrent processes sometimes block each other, it isn't hard. Get on with it."

The fact of the matter is, you don't understand. You, as I once did, have it completely wrong. Computer science has come up with their own 'de facto' usage of otherwise common and easily understood terminology. Computer science will not tell you JP Blocks. The scenario will be identical to the above: our two brave warriors, JP and Jeff; the coveted prize, the cake; all of the drama, the passion, the animal fury. Everything happens the same way, but computer science will claim that it is Jeff who blocks. Computer science will look you in the eye, while JP is holding his hand out, preventing jeff from accessing the cake, and will, without a trace of irony, calmly tell you that in this situation, "Jeff is blocking, Jeff blocks".

To me, this is the equivalent of saying that when JP is ravenously stuffing cake into his face, "the cake is eating, the cake eats". Now how stupid does it sound to say that the rapidly disappearing cake eats?

Stupid computer scientists.