这是一个常见的面试题,比较重要,也比较好理解。
1.相同点:
(1)这两个方法都能使线程进入阻塞状态
2.不同点:
(1)sleep()方法是Thread类中的静态方法;而wait()方法是Object类中的方法;
(2)sleep()方法可以在任何地方调用;而wait()方法只能在同步代码块或同步方法中使用(即使用synchronized关键字修饰的);
(3)这两个方法都在同步代码块或同步方法中使用时,sleep()方法不会释放同步监视器;而wait()方法则会释放同步监视器;
这是一个常见的面试题,比较重要,也比较好理解。
1.相同点:
(1)这两个方法都能使线程进入阻塞状态
2.不同点:
(1)sleep()方法是Thread类中的静态方法;而wait()方法是Object类中的方法;
(2)sleep()方法可以在任何地方调用;而wait()方法只能在同步代码块或同步方法中使用(即使用synchronized关键字修饰的);
(3)这两个方法都在同步代码块或同步方法中使用时,sleep()方法不会释放同步监视器;而wait()方法则会释放同步监视器;