BLOCKED, WAITING, and TIMED_WAITING are important thread states, but often confusing to many of us. One must have a proper understanding of these thread states in order to analyze thread dumps. Using real-life examples, this video breaks down each state into simpler terms.

Note: If you would like to learn more, Java Thread Example is a good article