Friday, 22 April 2016

What are the conditions when threads enters into blocked state ?


Conditions for blocked state of threads

Sleeping
On this state, the thread is still alive but it is not runnable, it might be return to runnable state later, if a particular event occurs. On this state a thread sleeps for a specified amount of time.
You can use the method sleep( ) to stop the running state of a thread.
     static void sleep(long millisecond) throws InterruptedException

Waiting for Notification
A thread waits for notification from another thread. The thread sends back to runnable state after sending notification from another thread.     
     final void wait(long timeout) throws InterruptedException
     final void wait(long timeout, int nanos) throws InterruptedException
     final void wait() throws InterruptedException

Blocked on I/O
The thread waits for completion of blocking operation. A thread can enter on this state because of waiting I/O resource. In that case the thread sends back to runnable state after availability of resources.

Blocked for joint completion
The thread can come on this state because of waiting the completion of another thread.

Blocked for lock acquisition
The thread can come on this state because of waiting to acquire the lock of an object.

No comments:

Post a Comment

Note: only a member of this blog may post a comment.