Thread.sleep和object.wait

这个问题在这里已经有了答案:

  • wait()和sleep()之间的差异33个答案

  • 一个用于同步线程,另一个用于睡眠给定时间。

    如果你想同步线程在一起,用户等待/通知。 如果你想睡一段已知的时间,使用Thread.sleep。


    不, Object.wait()只会导致当前线程阻塞。

    主要区别在于sleep()指示当前线程休眠一段时间,而wait()指示当前线程释放一个监视器,然后休眠直至通知监视器。 换句话说, wait()是线程之间的协调原语,而sleep()只关心时间的流逝(假设没有中断)。


    睡眠和等待看起来很容易,他们有很大的不同:

    睡眠 - 使线程在特定的时间内休眠 - 适用于计划任务,动画和更多...

    等待 - 大多数时间没有限制地使用,使一个线程等待某些事情发生,这是同步的最佳实践。

    如果你试图通过使用睡眠来实现等待,这是不好的做法,这有点接近一些非常糟糕的事情,称为忙碌等待。

    链接地址: http://www.djcxy.com/p/92133.html

    上一篇: Thread.sleep and object.wait

    下一篇: Java native method source code