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

Java多線(xiàn)程的sleep休眠的實(shí)現(xiàn)

 更新時(shí)間:2023年06月27日 08:53:41   作者:思誠(chéng)代碼塊  
本文主要介紹了Java多線(xiàn)程的sleep休眠的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

了解這樣的幾個(gè)概念:

1.sleep指向當(dāng)前線(xiàn)程阻塞的毫秒數(shù)(就是可以讓線(xiàn)程停一會(huì))

2.sleep 存在異常 InterruptedException3.sleep 時(shí)間達(dá)到后線(xiàn)程進(jìn)入就緒狀態(tài)4.sleep 可以模擬網(wǎng)絡(luò)延時(shí),倒計(jì)時(shí)等5.sleep 每一個(gè)對(duì)象都有一個(gè)鎖,sleep 不會(huì)釋放鎖

寫(xiě)源碼:

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

看結(jié)果:

在這個(gè)結(jié)果當(dāng)中,有重復(fù),但是不明顯

加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);      //讓線(xiàn)程睡了5秒的時(shí)間     (模擬網(wǎng)絡(luò)延遲)
            }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();
    }
}

看結(jié)果:

這樣的重復(fù)會(huì)很多,所以sleep(休眠),起到模擬網(wǎng)絡(luò)延遲的作用, 可以放大問(wèn)題的可見(jiàn)性以及發(fā)生性

就是 ,有上面重復(fù)的 結(jié)果顯得明顯,即:多線(xiàn)程是不安全的

再寫(xiě)一個(gè)實(shí)例:

模擬倒計(jì)時(shí):

package Demo04;
//模擬倒計(jì)時(shí)
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;
            }
        }
    }
}

看結(jié)果

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

就是它會(huì)從十到一每隔一秒顯示一個(gè)數(shù)字,一直到一

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

相關(guān)文章

  • Java中創(chuàng)建線(xiàn)程的兩種方式詳細(xì)說(shuō)明

    Java中創(chuàng)建線(xiàn)程的兩種方式詳細(xì)說(shuō)明

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

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

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

    Java中的final關(guān)鍵字使用方式

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

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

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

    實(shí)例講解Java處理PDF圖章的方法

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

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

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

    Nacos下線(xiàn)服務(wù)時(shí),下線(xiàn)報(bào)錯(cuò)選舉Leader失敗問(wèn)題以及解決

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

    springboot項(xiàng)目中后端接收前端傳參的方法示例詳解

    這篇文章主要介紹了springboot項(xiàng)目中一些后端接收前端傳參的方法,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-06-06
  • 詳解使用Spring?Data?repository進(jìn)行數(shù)據(jù)層的訪問(wèn)問(wèn)題

    詳解使用Spring?Data?repository進(jìn)行數(shù)據(jù)層的訪問(wèn)問(wèn)題

    這篇文章主要介紹了使用Spring?Data?repository進(jìn)行數(shù)據(jù)層的訪問(wèn),抽象出Spring Data repository是因?yàn)樵陂_(kāi)發(fā)過(guò)程中,常常會(huì)為了實(shí)現(xiàn)不同持久化存儲(chǔ)的數(shù)據(jù)訪問(wèn)層而寫(xiě)大量的大同小異的代碼,本文給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2022-06-06
  • Java實(shí)現(xiàn)的日歷功能完整示例

    Java實(shí)現(xiàn)的日歷功能完整示例

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

最新評(píng)論

永康市| 石门县| 深州市| 龙江县| 广平县| 即墨市| 镇雄县| 青阳县| 清水县| 清水河县| 丹东市| 庐江县| 天柱县| 都匀市| 犍为县| 开原市| 集贤县| 富川| 金平| 隆回县| 辉县市| 桦甸市| 眉山市| 全椒县| 固原市| 福清市| 伊宁市| 井冈山市| 调兵山市| 大姚县| 漾濞| 津南区| 长乐市| 金溪县| 郴州市| 宁国市| 桂林市| 花莲县| 高碑店市| 莎车县| 双牌县|