Ответ не так прост.Могут быть случаи, когда потоки, которые переходят в заблокированное состояние, могут в конечном итоге вызывать загрузку процессора.
Большинство JVM используют алгоритмы многоуровневой блокировки.Часто используются такие алгоритмы, как спин-блокировки, особенно для блокировок, удерживаемых в течение короткого времени.Когда поток пытается получить монитор и обнаруживает, что он не может, JVM может фактически поместить его в цикл и заставить поток попытаться получить монитор, вместо того, чтобы немедленно переключать его из контекста.Если потоку не удается получить блокировку после определенного количества попыток или продолжительности (в зависимости от конкретной реализации JVM), JVM переключается в режим «полной блокировки» или «раздутой блокировки», где контекст отключает поток.
Именно с поведением спин-блокировки вы можете понести расходы на процессор.Если у вас есть код, который удерживает блокировку в течение очень короткого промежутка времени, и конкуренция высока, то вы можете заметить значительное увеличение использования ЦП.Для некоторых обсуждений различных методов, которые JVM используют для снижения затрат на конфликты, см. http://www.ibm.com/developerworks/java/library/j-jtp10185/index.html.