最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java多線程yield心得分享

 更新時(shí)間:2013年12月21日 15:22:23   作者:  
前幾天復(fù)習(xí)了一下多線程,發(fā)現(xiàn)有許多網(wǎng)上講的都很抽象,所以,自己把網(wǎng)上的一些案例總結(jié)了一下

一. Thread.yield( )方法:

使當(dāng)前線程從執(zhí)行狀態(tài)(運(yùn)行狀態(tài))變?yōu)榭蓤?zhí)行態(tài)(就緒狀態(tài))。cpu會(huì)從眾多的可執(zhí)行態(tài)里選擇,也就是說,當(dāng)前也就是剛剛的那個(gè)線程還是有可能會(huì)被再次執(zhí)行到的,并不是說一定會(huì)執(zhí)行其他線程而該線程在下一次中不會(huì)執(zhí)行到了。

Java線程中有一個(gè)Thread.yield( )方法,很多人翻譯成線程讓步。顧名思義,就是說當(dāng)一個(gè)線程使用了這個(gè)方法之后,它就會(huì)把自己CPU執(zhí)行的時(shí)間讓掉,讓自己或者其它的線程運(yùn)行。

打個(gè)比方:現(xiàn)在有很多人在排隊(duì)上廁所,好不容易輪到這個(gè)人上廁所了,突然這個(gè)人說:“我要和大家來個(gè)競賽,看誰先搶到廁所!”,然后所有的人在同一起跑線沖向廁所,有可能是別人搶到了,也有可能他自己有搶到了。我們還知道線程有個(gè)優(yōu)先級的問題,那么手里有優(yōu)先權(quán)的這些人就一定能搶到廁所的位置嗎? 不一定的,他們只是概率上大些,也有可能沒特權(quán)的搶到了。

例子:

復(fù)制代碼 代碼如下:

package com.yield;

public class YieldTest extends Thread {

 public YieldTest(String name) {
  super(name);
 }

 @Override
 public void run() {
  for (int i = 1; i <= 50; i++) {
   System.out.println("" + this.getName() + "-----" + i);
   // 當(dāng)i為30時(shí),該線程就會(huì)把CPU時(shí)間讓掉,讓其他或者自己的線程執(zhí)行(也就是誰先搶到誰執(zhí)行)
   if (i == 30) {
    this.yield();
   }
  }
 }

 public static void main(String[] args) {
  YieldTest yt1 = new YieldTest("張三");
  YieldTest yt2 = new YieldTest("李四");
  yt1.start();
  yt2.start();
 }
}

運(yùn)行結(jié)果:

第一種情況:李四(線程)當(dāng)執(zhí)行到30時(shí)會(huì)CPU時(shí)間讓掉,這時(shí)張三(線程)搶到CPU時(shí)間并執(zhí)行。

第二種情況:李四(線程)當(dāng)執(zhí)行到30時(shí)會(huì)CPU時(shí)間讓掉,這時(shí)李四(線程)搶到CPU時(shí)間并執(zhí)行。

相關(guān)文章

  • Spark?實(shí)現(xiàn)自定義加密的示例代碼

    Spark?實(shí)現(xiàn)自定義加密的示例代碼

    這篇文章主要介紹了Spark?實(shí)現(xiàn)自定義加密的示例代碼,代碼簡單易懂,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2024-07-07
  • 解決idea打包成功但是resource下的文件沒有成功的問題

    解決idea打包成功但是resource下的文件沒有成功的問題

    這篇文章主要介紹了解決idea打包成功但是resource下的文件沒有成功的問題,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • Spring Boot攔截器和過濾器實(shí)例解析

    Spring Boot攔截器和過濾器實(shí)例解析

    這篇文章主要介紹了Spring Boot攔截器和過濾器實(shí)例解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-01-01
  • 最全JVM調(diào)優(yōu)步驟和參數(shù)及配置

    最全JVM調(diào)優(yōu)步驟和參數(shù)及配置

    這篇文章主要給大家介紹了關(guān)于JVM調(diào)優(yōu)的相關(guān)資料,JVM調(diào)優(yōu)是指對Java虛擬機(jī)(JVM)進(jìn)行優(yōu)化,以提高Java程序的性能和運(yùn)行效率,文中介紹的非常詳細(xì),需要的朋友可以參考下
    2024-03-03
  • springboot之如何獲取請求ip方法

    springboot之如何獲取請求ip方法

    這篇文章主要介紹了springboot之如何獲取請求ip方法,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • Spring中的bean概念介紹

    Spring中的bean概念介紹

    這篇文章主要介紹了Spring中的bean相關(guān)知識,包括基本概念定義控制反轉(zhuǎn)IOC的問題,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-03-03
  • java8中的List<String>轉(zhuǎn)List<Integer>的實(shí)例代碼

    java8中的List<String>轉(zhuǎn)List<Integer>的實(shí)例代碼

    這篇文章主要介紹了java8中的List<String>轉(zhuǎn)List<Integer>,轉(zhuǎn)換list列表String到列表Intger,java8提供了stream很好的進(jìn)行操作,本文通過示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2023-07-07
  • java 靜態(tài)工廠代替多參構(gòu)造器的適用情況與優(yōu)劣

    java 靜態(tài)工廠代替多參構(gòu)造器的適用情況與優(yōu)劣

    這篇文章主要介紹了java 靜態(tài)工廠代替多參構(gòu)造器的優(yōu)劣,幫助大家更好的理解和使用靜態(tài)工廠方法,感興趣的朋友可以了解下
    2020-12-12
  • springboot配置flyway(入門級別教程)

    springboot配置flyway(入門級別教程)

    本文介紹了springboot配置flyway,主要介紹基于SpringBoot集成flyway來管理數(shù)據(jù)庫的變更,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-09-09
  • 數(shù)組在java中的擴(kuò)容的實(shí)例方法

    數(shù)組在java中的擴(kuò)容的實(shí)例方法

    在本篇文章里小編給大家分享的是一篇關(guān)于數(shù)組在java中的擴(kuò)容的實(shí)例方法內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。
    2021-01-01

最新評論

宜昌市| 绩溪县| 江源县| 长沙市| 高要市| 石家庄市| 上虞市| 仁布县| 溧水县| 西丰县| 锦屏县| 永平县| 延津县| 通化县| 曲靖市| 镇宁| 丰都县| 依安县| 新津县| 福鼎市| 合阳县| 嵩明县| 兖州市| 台江县| 岚皋县| 微山县| 连平县| 浠水县| 安阳市| 凌云县| 广宁县| 海宁市| 定兴县| 四会市| 菏泽市| 兰溪市| 永靖县| 治多县| 兴安盟| 松阳县| 历史|