thread中sleep和wait的区别

Thread中sleep和wait区别

摘自《java高并发编程详解:多线程与架构设计》

waitsleep方法都可以使用当前线程进入阻塞状态,但两者存在本质的区别:

  • waitsleep方法都可以使用线程进入阻塞状态
  • waitsleep方法均是可中断方法,被中断后会收到中断异常
  • waitObject方法,而sleepThread特有的方法
  • wait方法的执行必须在同步方法中执行,而sleep不需要
  • 线程在同步方法中执行sleep方法时,并不会释放monitor的锁,而wait方法则会释放monitor
  • sleep方法短暂休眠之后会主动退出阻塞,而wait方法(没有指定wait时间)则需要被其他线程中断后才能退出阻塞
发布了76 篇原创文章 · 获赞 66 · 访问量 51万+

猜你喜欢

转载自blog.csdn.net/u013887008/article/details/103109433