why the sleep method does not leave the lock and wait method
leave the lock
Answer Posted / saurabh m. chande
for wait(), we ask that thread to wait for defined period of time. So, for that defined period of time, CPU just cant sit idle instead it prefers to run another thread which is looking for acquiring a lock by CPU. If wait() don't release the lock, considering the synchronization in mind, it will not serve any purpose but CPU will wait for the defined period being just idle. Then, there is no point of implementing Threads in our application.
sleep() : User is damn sure that he wants to run the thread in sleep mode. So if he uses wait() instead of sleep, then the thread -
1. will wait for defined period of time.
2. when the time is over, thread will go into runnable state and not in running state.
3. not sure when CPU will pick up this thread for further execution.
To avoid all the 3 reasons, sleep will not leave the lock on the thread. Instead it prefers to keep the lock on the thread even if it is in sleep mode. But it is sure that, once the sleep mode is over, it is having a lock and can directly put the thread in running state without further waiting.
- Saurabh M. Chande
| Is This Answer Correct ? | 5 Yes | 0 No |
Post New Answer View All Answers
What is class forname java?
Is lambda expression an object?
What is stateless and stateful in java?
What is java persistence api used for?
What is @resource annotation in java?
Spring framework ---Can somebody explain me in easily understandable format about AOP, IOC and DI, so that i can explain in interview rather than just telling what is available in net. I am not able to understand that also. I am new to Spring
Is jar an executable?
How do you create a jar file?
What are the authentication modes in asp.net? : java security
What if I write static public void instead of public static void?
What gives java it’s “write once and run anywhere” nature?
How do I download and install eclipse on windows 10?
What if the main method is declared as private?
What are the rules regarding quotation marks?
What is java web application?