sleep方法与wait方法的异同

sleep方法与wait方法的异同

相同点

  • 一旦执行方法,都可以使得当前线程进入阻塞状态。

不同点

  1. 两个方法声明的位置不同:Thread类中声明sleep(),Object类中声明wait();
  2. 调用的要求不同:sleep()可以在任何需要的场景下调用,
    wait()必须在同步代码块或者同步方法中调用;
  3. 关于是否释放同步监视器:如果两个方法都在同步代码块或者同步方法中,
    sleep()方法不释放锁,
    wait()方法释放锁。
Donate comment here