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

Java多線程yield心得分享

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

一. Thread.yield( )方法:

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

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

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

例子:

復制代碼 代碼如下:

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);
   // 當i為30時,該線程就會把CPU時間讓掉,讓其他或者自己的線程執(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();
 }
}

運行結果:

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

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

相關文章

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

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

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

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

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

    Spring Boot攔截器和過濾器實例解析

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

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

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

    springboot之如何獲取請求ip方法

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

    Spring中的bean概念介紹

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

    java8中的List<String>轉List<Integer>的實例代碼

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

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

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

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

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

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

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

最新評論

手游| 云浮市| 金坛市| 全州县| 巴林左旗| 林周县| 桂阳县| 清流县| 承德市| 武胜县| 治多县| 沽源县| 尤溪县| 邵阳市| 巴彦淖尔市| 新龙县| 独山县| 永安市| 汝南县| 花莲市| 威海市| 肇源县| 若羌县| 青冈县| 清镇市| 南投市| 股票| 靖西县| 金沙县| 武川县| 泰来县| 四川省| 大方县| 凤冈县| 保德县| 晋中市| 新泰市| 宁化县| 偏关县| 富锦市| 孝昌县|