摘要:
eep和wait都是使线程暂时停止执行的方法,但它们有很大的不同。 1. sleep是线程类Thread 的方法,它是使当前线程暂时睡眠,可以放在任何位置。 而wait,它是使当前线程暂时放弃对象的使用权进行等待,必须放在同步方法或同步块里。2.Sleep使用的时候,线程并不会放弃对象的使用权,即不会释放对象锁,所以在同步方法或同步块中使用sleep,一个线程访问时,其他的线程也是无法访问的。 而... 阅读全文
摘要:
首先,要记住这个差别,“sleep是Thread类的方法,wait是Object类中定义的方法”。尽管这两个方法都会影响线程的执行行为,但是本质上是有区别的。 Thread.sleep不会导致锁行为的改变,如果当前线程是拥有锁的,那么Thread.sleep不会让线程释放锁。如果能够帮助你记忆的话,可以简单认为和锁相关的方法都定义在Object类中,因此调用Thread.sleep是不会影响锁的... 阅读全文