sleep() 和 wait() 有什么区别?
时间: 2023-09-28 12:06:12 浏览: 118
详解Java中的sleep()和wait()的区别
sleep() 和 wait() 都是用于控制线程的方法,但它们的作用不同。
sleep() 方法是让当前线程暂停一段时间,让其他线程有机会运行。在暂停期间,线程不会释放锁。当暂停时间结束后,线程会重新进入可运行状态,等待系统调度。
wait() 方法是让当前线程暂停,直到其他线程调用 notify() 或 notifyAll() 方法唤醒它。在暂停期间,线程会释放锁,让其他线程可以访问共享资源。当线程被唤醒后,它会重新尝试获取锁,然后继续执行。
因此,sleep() 方法是让线程暂停一段时间,而 wait() 方法是让线程等待其他线程的通知。
阅读全文