page contents

调用yeild()会阻塞吗?

轩辕小不懂 发布于 2021-08-04 14:57
阅读 507
收藏 0
分类:Java开发
1583
Nen
Nen
- 程序员

阻塞指的是暂停一个线程的执行以等待某个条件发生(如某资源就绪)。

yield() 方法:yield() 使得线程放弃当前分得的 CPU 时间,但是不使线程阻塞,即线程仍处于可执行状态,随时可能再次分得 CPU 时间。调用 yield() 的效果等价于调度程序认为该线程已执行了足够的时间从而转到另一个线程。yield()只是使当前线程重新回到可执行状态,所以执行yield()的线程有可能在进入到可执行状态后马上又被执行。sleep()可使优先级低的线程得到执行的机会,当然也可以让同优先级和高优先级的线程有执行的机会;yield()只能使同优先级的线程有执行的机会。

请先 登录 后评论