Wednesday 18 November 2015

What is the difference between yield() ,sleep() and join()

We can prevent a thread from execution by using any of the 3 methods of Thread class:

1. yield() 2. join() 3. sleep()


yield() It pauses the currently executing thread temporarily for giving a chance to the remaining waiting threads of the same priority to execute. If there is no waiting thread or all the waiting threads have a lower priority then the same thread will continue its execution. The yielded thread when it will get the chance for execution is decided by the thread scheduler whose behavior is vendor dependent.

join() If any executing thread t1 calls join() on t2 i.e; t2.join() immediately t1 will enter into waiting state until t2 completes its execution.

sleep() Based on our requirement we can make a thread to be in sleeping state for a specified period of time (hope not much explanation required for our favorite method).

No comments:

Post a Comment