有一種執行緒,它是在後台執行的,它的任務是為其他的執行緒提供服務,這種執行緒被稱為「後台執行緒」(daemon thread),又稱為「守護執行緒」。
典型的後台執行緒是定時器」timer"執行緒,他負責將固定的時間間隔傳送給其他的執行緒。
後台執行緒經常用於任務結束時的善後處理。另外,後台執行緒的優先順序要比其他的執行緒優先順序低。
和後台執行緒相比,一般的執行緒稱為「使用者執行緒」。如果乙個應用中只有後台執行緒在執行,jvm將退出該應用程式。
可以通過setdaemon(boolean d)來將乙個普通的執行緒設定為後台執行緒。用方法isdaemon()可以用於測試特定的執行緒是否為後台執行緒。
package com.liujl.thread;public class daemonthread extends thread
};public static void main(string args)
/*** dt.setdaemon(true),設定了dt執行緒為守護執行緒,這時呼叫start();
* 在dt這個執行緒執行一段時間後將會自動退出,這是因為執行緒排程程式在監測到只有
* 乙個後台執行緒在執行的時候,它就終止這個引用程式的執行。
* * 讀者可以把第13行的**去掉,再次執行這個引用,此時這個應用程式將永無止境的執行下去。
*/}
後台守護執行緒
package duoxian public class threaddemo catch interruptedexception e system.out.println thread.currentthread getname 正在執行 x i 使用者執行緒 thread deamonthre...
08 控制線程 後台執行緒(守護執行緒)
後台執行緒 後台執行緒 daemon thread 執行在後台,他的任務是為其它的執行緒提供服務,又稱為 守護執行緒 jvm的垃圾 執行緒就是典型的後台執行緒。特徵 如果所有的前台執行緒都死亡,後台執行緒會自動死亡。呼叫thread物件的setdaemon true 方法可以將指定的執行緒設定成後台...
優雅的停止執行緒,後台守護執行緒,volatile
停止執行緒有stop,destroy等。這些方法已經被停用。因為這些方法會造成執行緒的死鎖。推薦用下面這種 public class threadelegantstopcatch interruptedexception e system.out.println thread.currentthre...