In my OS class, my professor keeps using block as a verb instead of an adjective when describing multi-threading/synchronization. For example: "Thread B tries to access a resource that is currently being used by Thread A, and so Thread B blocks."
Without any prior knowledge, I would initially think that for a thread to block, it would be preventing some other thread from doing something (e.g. it holds the lock on a resource). But from the way he talks, it sounds like "Thread B blocks" actually means that Thread B is being blocked, or prevented, from accessing the resource it wants to access.
Which is correct?