one or more threads are unable to continue execution because each is blocked waiting for one or more of the others to satisfy some condition