In some JVMs, locks perform better than synchronized. Also, I feel conditionals are clearer than wait/notify. In this case, I am using the lock only for the conditional.