多线程中的暂停 :礼让yield

it2025-04-18  3

使用:

礼让线程,让当前正在执行的线程暂停(及放弃当前拥有的cup资源),避免占用cpu过久,并执行其它线程(让cpu重新进行调度),因此,使用yield()的目的是让相同优先级的线程之间能适当的轮转执行。但是,实际中无法保证yield()达到让步目的,因为让步的线程还有可能被线程调度程序再次选中。 礼让线程不是阻塞线程,而是将线程从运行状态转入就绪状态。让cpu重新调度。 yield和sleep方法相同的是:yield也是静态方法。

public class YieldDemo01 { public static void main(String[] args) { MyYield my = new MyYield(); new Thread(my,"a").start(); new Thread(my,"b").start(); } } class MyYield implements Runnable{ @Override public void run() { System.out.println(Thread.currentThread().getName()+"-->start"); Thread.yield();//礼让 System.out.println(Thread.currentThread().getName()+"-->end"); } }
最新回复(0)