Java tutorial
//package com.java2s; //License from project: Open Source License import javax.annotation.Nonnull; public class Main { /** * Check whether a specific thread is currently waiting. * <p> * Note: This includes both waiting due to an explicit wait() call, and due * to being blocked attempting to synchronize. * <p> * Note: {@link #canThreadRun(Thread)} and {@link #isThreadWaiting(Thread)} * should never simultaneously be true, but it might look that way due to * sampling delays when checking on another thread. * * @param t the thread to check * @return true is the specified thread is or could be running right now */ static public boolean isThreadWaiting(@Nonnull Thread t) { Thread.State s = t.getState(); return s.equals(Thread.State.BLOCKED) || s.equals(Thread.State.WAITING) || s.equals(Thread.State.TIMED_WAITING); } }