Thread 中wait和sleep的区别

相同点

  1.wait和sleep方法都可以使线程进入阻塞状态

  2.wait和sleep方法均是可中断方法,被中断后都会受到中断异常
不同点
  1.所属类不同:wait是Object的方法,而sleep是Thead特有的方法

  2.关于锁的释放:wait 会释放锁,sleep 睡觉了,抱着锁睡觉,不会释放!

  3.使用位置不同:wait方法的执行必须在同步代码块中进行,而sleep则可以在任何位置  

  4.sleep方法短暂休眠之后会主动退出阻塞,而wait方法(没有指定等待的时间)则需要被其他线程中断后才能退出阻塞

注意:看过JUC源码的可以看出wait和sleep都+需要捕获异常!!!

猜你喜欢

转载自www.cnblogs.com/langzipeng/p/13200109.html