首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

线程礼让:yield

*  yield()方法:

*  -提出申请释放CPU资源,至于能否成功释放取决于JVM决定。

*  -调用yield()方法后,线程仍然处于RUNNABLE状态,线程不会进入阻塞状态。

*  -调用yield()方法后,线程处于RUNNABLE状态,就保留了随时被调用的权利。

*执行结果:从结果1看,a释放CPU成功后,b就抢到了CPU执行权,接着b也释放CPU成功,a抢到了CPU执行权;从结果2看,a并没有成功释放CPU。

public class MyYield implements Runnable {

@Override

public void run() {

Thread.yield();

}

public static void main(String[] args) throws InterruptedException {

MyYield myThread = new MyYield();

Thread thread = new Thread(myThread,"a");

Thread thread2 = new Thread(myThread,"b");

thread.start();

thread2.start();

}

}

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OZpstcu7dCqg6YeNk3Xeo4Ow0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券