

Hi,
Here is the answer.
A thread can enter the waiting state by following ways-
1.A Thread can enter the waiting state by invoking it's sleep() method
2.By blocking on i/o by unsuccessfully attempting to acquire an object's lock or by invoking an object's wait() method.
3.It can also enter the waiting state by invoking it's suspend() method.
Thanks.