Java 語(yǔ)言的多線程編程是其一大特色,而使用 sleep() 方法執(zhí)行線程休眠是其常見(jiàn)用法之一。本文將詳細(xì)介紹 Java 中如何使用多線程 sleep() 方法。
在 Java 中,線程休眠的方法稱為 sleep(),其作用是讓當(dāng)前線程休眠指定的時(shí)間(單位是毫秒),讓其它線程可以獲得運(yùn)行機(jī)會(huì)。
public static void sleep(long millis) throws InterruptedException
其中參數(shù) millis 代表要休眠的時(shí)間,單位是毫秒。調(diào)用該方法的線程會(huì)暫時(shí)放棄占用 CPU 的機(jī)會(huì),等待指定時(shí)間后再次被調(diào)度執(zhí)行。
需要注意的是,sleep() 方法并不釋放當(dāng)前線程持有的鎖。如果一個(gè)線程需要休眠一段時(shí)間后再繼續(xù)執(zhí),那么可以使用 sleep() 方法。
下面是一個(gè)使用 sleep() 方法的示例代碼:
public class SleepDemo implements Runnable { private int count; public SleepDemo(int count) { this.count = count; } @Override public void run() { for (int i = 0; i< count; i++) { System.out.println(Thread.currentThread().getName() + ":" + i); try { Thread.sleep(1000); } catch (InterruptedException e) { e.printStackTrace(); } } } }
在上面的示例中,我們定義了一個(gè)實(shí)現(xiàn)了 Runnable 接口的 SleepDemo 類,該類實(shí)現(xiàn)了 run() 方法,在該方法中使用 sleep() 方法使當(dāng)前線程休眠一秒鐘。
在主方法中,我們可以使用 Thread 類的 start() 方法開(kāi)啟一個(gè)新的線程參與運(yùn)行,這樣就可以實(shí)現(xiàn)多線程的 sleep() 操作了。
總之,Java 中的 sleep() 方法是一個(gè)簡(jiǎn)單且實(shí)用的多線程編程工具,它可以方便地讓線程休眠一段時(shí)間,并釋放 CPU 機(jī)會(huì),是 Java 程序員必備的技能之一。