java Thread yield notify notifyAll wait sleep小节

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/nadiee/article/details/83720583

sleep:调用sleep使任务进入休眠状态,任务在指定的时间内不会运行,锁没有被释放。

yield:此刻让出cpu,所有线程再次竞争cpu使用权,锁未被释放

如果Thread1和Thread2都使用synchronized (object),Thread1调用yield,Thread2也不会被执行,要等object锁被释放才可以。

wait:使线程挂起,知道线程得到了notify或notifyAll消息,线程才会进入就绪状态,锁被释放。

notify:唤醒一个正在wait当前对象锁的线程,并让它拿到对象锁
notifyAll:唤醒所有正在wait前对象锁的线程,所有的线程只是跳出了wait状态,接下来它们还会是竞争对象锁

猜你喜欢

转载自blog.csdn.net/nadiee/article/details/83720583