thread.sleep()是thread類的乙個靜態方法,使當前執行緒休眠,進入阻塞狀態(暫停執行),如果執行緒在睡眠狀態被中斷,將會丟擲iterruptedexception中斷異常。。主要方法如下:
【a】sleep(long millis) 執行緒睡眠 millis 毫秒
【b】sleep(long millis, int nanos) 執行緒睡眠 millis 毫秒 + nanos 納秒
api文件:
注意:在哪個執行緒裡面呼叫sleep()方法就阻塞哪個執行緒。
public class sleepdemo
}}/**
* 執行緒類
*/class process implements runnable catch (interruptedexception e) }}
}
執行結果:main執行緒執行一次之後休眠一秒鐘,讓出cpu,此時process執行緒執行一次然後又休眠一秒,依次執行。
下面以乙個倒計時的功能來進一步說明sleep()方法的使用:
/**
* @description: 執行緒休眠sleep()方法
* @author: weishihuai
* @date: 2018/11/11 21:31
* * 1. 注意:sleep()方法使用的位置,如果使用在main執行緒執行**中,則阻塞的是main執行緒。如果在其他執行緒執行的**中,則阻塞的是執行這些**的執行緒
* 2. 案例: 倒計時功能
*/public class testsleepthread
/*** 倒計時方法
** @param mills 倒計時開始的時間距離當前時間多少毫秒
*/public static void countdown(long mills) catch (interruptedexception e)
if (endtime - enddate.gettime() > mills) }}
}
執行結果:
【a】sleep()方法是thread類的靜態方法,如果呼叫執行緒物件.sleep()方法並不是該執行緒就休眠,反正在哪乙個執行緒裡面執行了sleep()方法哪乙個執行緒就休眠。
【b】執行緒睡眠到期自動甦醒,並返回到可執行狀態(就緒),不是執行狀態。
java Thread 執行緒同步之互斥(1)
public class synchthread class ticket ticket class productor extends thread public void run public void run while i 學習心得 1.用多個執行緒處理乙個物件,實現執行緒共享 2.關鍵字s...
java thread自學筆記
執行緒有多種寫法。第一種是實現runnable介面。第二種是繼承thread類。第三種是直接寫runnable的實現方法。public class threadtest thread t new thread r t.run output foo t.start output foo try cat...
Java Thread相關(積累)
threadgroup 執行緒組就是由執行緒組成的管理執行緒的類 thread.currentthread getthreadgroup getname currentthread 取得當前執行緒。getthreadgroup 取得當前執行緒所在的組。getname 取得組的名稱。定義乙個執行緒組,...