博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

sleep,wait,join,yield

Posted on 2021-04-10 14:26  南国木棉  阅读(76)  评论(0编辑  收藏  举报

 

 

  sleep和wait的区别:

  1 sleep是Thread的静态方法,wait是object方法。

  2 sleep不会释放锁,wait会释放锁。

  3 sleep不需要唤醒,而wait需要被唤醒。

  

 

  yield 方法的作用是放弃当前cpu资源,将它让给其他的任务去占用cpu执行时间,但放弃的时间不确定,有可能刚刚放弃,马上又获得cpu时间片。

  

  join:用来将线程按照顺序执行

  

  sleep,或者wait ,或者join过程中调用interrupt的时候都会抛出InterrultenException。

 

  join(long)和sleep(long)的区别:

  

  join(long)的功能在内部是使用wait(long)实现的,所以有释放锁的功能。

  sleep(long)并不会释放锁。