java線程休眠的方法(sleep方法休眠Java線程)

來源:Java快訊? ????|???? 發(fā)布時間:2022-02-09 17:42? ????| 作者:南京北大青鳥小編? ????| 閱讀:

  我們都知道,Java在執(zhí)行程序的時候會先執(zhí)行優(yōu)先級高的,而優(yōu)先級低的就會被后執(zhí)行,有時間我們是需要人為的控制線程,讓正在執(zhí)行的線程先暫停,讓其他的線程先執(zhí)行,這時就需要用到靜態(tài)方法sleep(long millis),該方法可以讓當(dāng)前正在執(zhí)行的線程暫停一段時間,進(jìn)入休眠等待狀態(tài)。今天就來為你介紹java線程休眠的方法(sleep方法休眠Java線程)
 

  當(dāng)前線程調(diào)用sleep(long millis)方法后,在指定時間(單位毫秒)內(nèi)該線程是不會執(zhí)行的,這樣其他的線程就可以得以執(zhí)行了。sleep(long millis)方法聲明會拋出InterrupledException異常,因此在調(diào)用該方法時應(yīng)該捕獲異常,或者聲明拋出該異常。下面通過一個案例來演示sleep(long millis)方法在程序中的使用。

public class Example02{
    public static void main(String[] args)throws Exception{
        //創(chuàng)建一個線程
        new Thread(new SleepThread()).start();
        for(int i=1;i<=10;i++){
            if(i == 5){
                Thread.sleep(2000);     //當(dāng)前線程休眠2秒
            }
            System.out.println("主線程正在輸出:"+i);
            Thread.sleep (500);     //當(dāng)前線程休眠500毫秒
        }
    }
}

// 定義SleepThread類實現(xiàn)Runnable接口
class SleepThread implements Runnable{
    public void run(){
        for (int i=1;i<=10; i++){
            if(i ==3){
                try {
                    Thread.sleep(2000);//當(dāng)前線程休眠2秒
                }catch(InterruptedException e){
                    e.printStackTrace();
                }
            }
            System.out.println("SleepThread線程正在輸出:"+i);
            try{
                Thread.sleep(500); //當(dāng)前線程休眠500毫秒
            }catch (Exception e){
                e.printStackTrace();
            }
        }
    }
}

  java線程休眠的方法


  代碼中第15~31行代碼定義了一個SleepThread類并實現(xiàn)了Runnable接口。在SleepThread類中重寫了run()方法,run()方法中使用for循環(huán)打印線程輸出語句;第26~30行代碼使用sleep()方法設(shè)置線程休眠500毫秒;在第18~24行代碼中使用if判斷當(dāng)變量i=3時,線程休眠2000毫秒;第4行中使用new關(guān)鍵詞創(chuàng)建了一個SleepThread線程并啟動;在第5~12行代碼中使用for循環(huán)打印主線程的輸出語句,并在第10行代碼使用sleep()方法設(shè)置線程休眠500毫秒;在第6~8行代碼中使用if判新出當(dāng)變量i=5時,線程休眠2000毫秒。

文章標(biāo)題:java線程休眠的方法(sleep方法休眠Java線程)文章鏈接: http://www.juxinvip.cn/news/xyxw/780.html 本文內(nèi)容、圖片由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點(diǎn)僅代表作者本人。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請發(fā)送郵件至2353260942@qq.com 舉報,一經(jīng)查實,本站將立刻刪除。互聯(lián)網(wǎng)教程 寵物知識(如需投稿聯(lián)系管理員開通!)