thread.yield()和thread.sleep(time)的理解
2016-08-24 11:22
309 查看
○ yield()方法把一个线程的状态,从“执行状态”打回到“就绪状态”。
○ 因此,某线程一旦执行了这个方法以后,可能在就绪队列中马上就轮到他执行了,也可能要等很长时间才能轮到他执行。
○ 如果在没有设置优先级的情况下,此线程将与其他就绪线程同竞争力的竞争资源。
○ 但进入执行状态的线程,将会由虚拟机调度,无法人为控制。
○ 如果设置了优先级,将会由高优先级者先得到资源。
○ sleep(time)方法将会使得线程暂时休眠time时长。
○ 休眠后,线程进入“就绪状态”。而不是“执行状态”!!什么时候再执行,由虚拟机来决定。
○ 因此,某线程一旦执行了这个方法以后,可能在就绪队列中马上就轮到他执行了,也可能要等很长时间才能轮到他执行。
○ 如果在没有设置优先级的情况下,此线程将与其他就绪线程同竞争力的竞争资源。
○ 但进入执行状态的线程,将会由虚拟机调度,无法人为控制。
○ 如果设置了优先级,将会由高优先级者先得到资源。
○ sleep(time)方法将会使得线程暂时休眠time时长。
○ 休眠后,线程进入“就绪状态”。而不是“执行状态”!!什么时候再执行,由虚拟机来决定。
相关文章推荐
- Java之Thread线程相关yield()、sleep()、wait()、join()、run和start区别详解
- 理解 Thread.Sleep 函数
- Thread 常搞混的几个概念sleep、wait、yield、interrupt
- std::this_thread::yield()使用理解
- Thread 的sleep、wait、yield、interrupt
- Thread 的sleep、wait、yield、interrupt
- 并发编程(5)Thread类的使用(sleep/yield/join)
- [转]对Thread.sleep(0)的深入理解
- windows线程yield以及Sleep(0)和SwitchToThread之间的区别
- Thread的yield()理解
- 线程的优先级、Thread.yield()、Thread.sleep(5000)
- C# 理解Thread.Sleep()方法
- Thread.sleep还是TimeUnit.SECONDS.sleep
- 理解 Thread.Sleep 函数
- 深入理解Thread.sleep的含义
- Thread.sleep() 和 Thread.yield() 区别
- Thread.sleep()和Thread.yield()
- 理解 Thread.Sleep 函数
- Thread.sleep()和TimeUnit.SECONDS.sleep()的区别与联系
- 理解 Thread.Sleep 函数 ,Sleep(0) 释放当前线程所剩余的时间片,让线程马上回到就绪队列而非等待队列