`
uag
  • 浏览: 19333 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
最近访客 更多访客>>
社区版块
存档分类
最新评论

sleep()和wait()有什么区别?

    博客分类:
  • JAVA
 
阅读更多
   sleep()方法是使线程停止一段时间的方法。在sleep   时间间隔期满后,线程不一定立即恢复执行。这是因为在那个时刻,其它线程可能正在运行而且没有被调度为放弃执行,除非“醒来”的线程具有更高的优先级 正在运行的线程因为其它原因而阻塞。    
        wait()是线程交互时,如果线程对一个同步对象x   发出一个wait()调用,该线程会暂停执行,被调对象进入等待状态,直到被唤醒或等待时间到。  

          功能差不多,都用来进行线程控制,他们最大本质的区别是:sleep()不释放同步锁,wait()释放同步缩.  
         还有用法的上的不同是:sleep(milliseconds)可以用时间指定来使他自动醒过来,如果时间不到你只能调用interreput()来强行打断;wait()可以用notify()直接唤起.
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics