title: Blocking threads in java - to be avoided?
body: <p>What is the difference between blocked and waiting threads in terms of resources consumed(cpu cycles et al).
  Would I rather invoke notify() to wake up one thread and leave others in waiting state;or call notifyall() to have all the waiting threads move into blocked state(except the one that successfully transitioned to runnable)?</p>