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

Java多線程的sleep休眠的實現

 更新時間:2023年06月27日 08:53:41   作者:思誠代碼塊  
本文主要介紹了Java多線程的sleep休眠的實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

了解這樣的幾個概念:

1.sleep指向當前線程阻塞的毫秒數(就是可以讓線程停一會)

2.sleep 存在異常 InterruptedException3.sleep 時間達到后線程進入就緒狀態(tài)4.sleep 可以模擬網絡延時,倒計時等5.sleep 每一個對象都有一個鎖,sleep 不會釋放鎖

寫源碼:

package Demo04;
public class TestSleep  implements Runnable{     //使用Runnable方法創(chuàng)建程序線程
    private  int ticketNums =10;      //有10張票
    @Override
    public void run() {      //重寫run方法
        while (true){        //寫while  循環(huán)
            if (ticketNums<=0){       //當票數小于等于0
                break;       //停止循環(huán)
            }
            System.out.println(Thread.currentThread().getName()+"-->拿到了第"+ticketNums--+"票");     //輸出信息
        }
    }
    public static void main(String[] args) {    //這是它的主線程
         TestSleep ticket = new TestSleep();        //創(chuàng)建對象
         new Thread(ticket,"小王").start();         //啟動線程
         new Thread(ticket,"小李").start();
         new Thread(ticket,"小慧").start();
    }
}

看結果:

在這個結果當中,有重復,但是不明顯

加sleep 休眠

package Demo04;
public class TestSleep  implements Runnable{
    private  int ticketNums =10;
    @Override
    public void run() {
        while (true){
            if (ticketNums<=0){
                break;
            }
            try {
                Thread.sleep(5);      //讓線程睡了5秒的時間     (模擬網絡延遲)
            }catch (InterruptedException e){
                e.printStackTrace();
            }
            System.out.println(Thread.currentThread().getName()+"-->拿到了第"+ticketNums--+"票");
        }
    }
    public static void main(String[] args) {
         TestSleep ticket = new TestSleep();
         new Thread(ticket,"小王").start();
         new Thread(ticket,"小李").start();
         new Thread(ticket,"小慧").start();
    }
}

看結果:

這樣的重復會很多,所以sleep(休眠),起到模擬網絡延遲的作用, 可以放大問題的可見性以及發(fā)生性

就是 ,有上面重復的 結果顯得明顯,即:多線程是不安全的

再寫一個實例:

模擬倒計時:

package Demo04;
//模擬倒計時
public class TestSleep02 {
    public static void main(String[] args) {
        try {
            tenDown();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
    public static void tenDown() throws InterruptedException {
        int num = 10;
        while (true) {
            Thread.sleep(1000);
            System.out.println(num--);
            if (num <= 0) {
                break;
            }
        }
    }
}

看結果

它的顯示結果:(注意: 1000ms=1秒)

就是它會從十到一每隔一秒顯示一個數字,一直到一

到此這篇關于Java多線程的sleep休眠的實現的文章就介紹到這了,更多相關Java多線程sleep休眠內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Java中創(chuàng)建線程的兩種方式詳細說明

    Java中創(chuàng)建線程的兩種方式詳細說明

    這篇文章主要介紹了Java中創(chuàng)建線程的兩種方式詳細說明,Java使用java.lang.Thread類代表線程,所有的線程對象都必須是Thread類或其子類的實例,每個線程的作用是完成一定的任務,實際上就是執(zhí)行一段程序流即一段順序執(zhí)行的代碼,需要的朋友可以參考下
    2023-11-11
  • Spring?Boot的幾種統(tǒng)一處理方式梳理小結

    Spring?Boot的幾種統(tǒng)一處理方式梳理小結

    這篇文章主要為大家介紹了Spring?Boot的幾種統(tǒng)一處理方式梳理小結,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-05-05
  • Java中的final關鍵字使用方式

    Java中的final關鍵字使用方式

    這篇文章主要介紹了Java中的final關鍵字使用方式,final 關鍵字用于修飾不可改變內容,更多相關梳理總結,需要的小伙伴可以參考下面文章內容
    2022-06-06
  • Java JVM調優(yōu)五大技能詳解

    Java JVM調優(yōu)五大技能詳解

    這篇文章主要為大家介紹了JVM調優(yōu)的五大技能,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2021-11-11
  • 實例講解Java處理PDF圖章的方法

    實例講解Java處理PDF圖章的方法

    在本篇文章里小編給大家分享了關于Java處理PDF圖章的方法,對此有需要的朋友們可以學習下。
    2019-02-02
  • SpringBoot之使用Redis實現分布式鎖(秒殺系統(tǒng))

    SpringBoot之使用Redis實現分布式鎖(秒殺系統(tǒng))

    這篇文章主要介紹了SpringBoot之使用Redis實現分布式鎖(秒殺系統(tǒng)),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-04-04
  • Nacos下線服務時,下線報錯選舉Leader失敗問題以及解決

    Nacos下線服務時,下線報錯選舉Leader失敗問題以及解決

    這篇文章主要介紹了Nacos下線服務時,下線報錯選舉Leader失敗問題以及解決,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • springboot項目中后端接收前端傳參的方法示例詳解

    springboot項目中后端接收前端傳參的方法示例詳解

    這篇文章主要介紹了springboot項目中一些后端接收前端傳參的方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-06-06
  • 詳解使用Spring?Data?repository進行數據層的訪問問題

    詳解使用Spring?Data?repository進行數據層的訪問問題

    這篇文章主要介紹了使用Spring?Data?repository進行數據層的訪問,抽象出Spring Data repository是因為在開發(fā)過程中,常常會為了實現不同持久化存儲的數據訪問層而寫大量的大同小異的代碼,本文給大家介紹的非常詳細,需要的朋友參考下吧
    2022-06-06
  • Java實現的日歷功能完整示例

    Java實現的日歷功能完整示例

    這篇文章主要介紹了Java實現的日歷功能,結合完整實例形式分析了Java日歷功能相關的日期時間獲取、計算、顯示等操作技巧,需要的朋友可以參考下
    2019-02-02

最新評論

郑州市| 酉阳| 襄樊市| 黑龙江省| 桃园县| 济宁市| 从江县| 临夏市| 濮阳市| 西林县| 合水县| 岑巩县| 中牟县| 邵东县| 金坛市| 海城市| 汽车| 沁源县| 东乌| 合川市| 竹溪县| 乌审旗| 大荔县| 新化县| 乌兰察布市| 汉寿县| 观塘区| 麻城市| 乌兰浩特市| 白朗县| 栖霞市| 城固县| 靖江市| 贡嘎县| 铜山县| 凌云县| 习水县| 东台市| 益阳市| 织金县| 道真|