1.相同点:
一旦执行方法,都可以使得当前的线程进入阻塞状态。
2.不同点:
1)两个方法声明的位置不同:Thread类中声明sleep() , Object类中声明wait()
2)调用的要求不同:sleep()可以在任何需要的场景下调用。 wait()必须使用在同步代码块或同步方法中
3)关于是否释放同步监视器:如果两个方法都使用在同步代码块或同步方法中,sleep()不会释放锁,wait()会释放锁。
本文对比了Thread类的sleep()和Object类的wait()方法,阐述了它们在阻塞、位置要求、调用场景及同步锁释放上的区别。深入理解了在同步代码中的使用技巧和注意事项。
一旦执行方法,都可以使得当前的线程进入阻塞状态。
1)两个方法声明的位置不同:Thread类中声明sleep() , Object类中声明wait()
2)调用的要求不同:sleep()可以在任何需要的场景下调用。 wait()必须使用在同步代码块或同步方法中
3)关于是否释放同步监视器:如果两个方法都使用在同步代码块或同步方法中,sleep()不会释放锁,wait()会释放锁。
271
433

被折叠的 条评论
为什么被折叠?