1. wait():会将持有该对象线程的对象控制权交出去,也就是释放对象锁,然后处于等待状态,此时其他线程将有机会获得这个线程的执行权,与sleep的区别在于,sleep是处于休眠状态,将不会释放对象锁,直到休眠时间到了,当前线程执行完毕了,才会由CPU根据线程执行的优先级分配资源,其他线程才有机会抢占资源。
2. notify():会通知某个正在等待这个对象的控制权的线程可以继续运行。
3. nofifyAll():会通知所有等待这个对象控制权的线程继续运行,如果有多个正在等待该对象控制权时,具体唤醒哪个线程,就由操作系统进行调度。
线程同步基础——wait()、notify()以及notifyAll()的理解
最新推荐文章于 2021-08-24 15:30:47 发布