java 多线程之:yield() 方法

1. yield()介绍 yield()的作用是让步。它能让当前线程由“运行状态”进入到“就绪状态”,从而让其它具有相同优先级的等待线程获取执行权;但是,并不能保证在当前线程调用yield()之后,其它具有相同优先级的线程就一定能获得执行权;也有可能是当前线程又进入到“运行状态”继续运行!
  1. yield() 与 wait()的比较
    我们知道,wait()的作用是让当前线程由“运行状态”进入“等待(阻塞)状态”的同时,也会释放同步锁。而yield()的作用是让步,它也会让当前线程离开“运行状态”。它们的区别是:
    1.wait()是让线程由“运行状态”进入到“等待(阻塞)状态”,而不yield()是让线程由“运行状态”进入到“就绪状态”。
    2.wait()是会线程释放它所持有对象的同步锁,而yield()方法不会释放锁。

posted on 2017-08-04 00:17  cag2050  阅读(452)  评论(0编辑  收藏  举报

导航