一 . 概述
守護執行緒是一種特殊的執行緒,其特殊性在於:
[1]依賴於其他非守護執行緒,一旦整個程式中沒有了其他型別的執行緒執行,那麼守護執行緒自動終結.
[2]執行的優先級別低,可以作一些系統級別的輔助行為.
二 .建立乙個守護執行緒.
例子:
thread thread = newthread()
};thread.setdaemon(
true
); thread.start();
thread.sleep(
3000
); system.
out.println("
end ....
");
建立乙個守護執行緒只需要注意設定乙個守護的屬性就可以了.
三. finally失效
publicclass
daemontest
@override
public
void
run()
}finally}}
/*** @param args
* @throws interruptedexception
*/public
static
void
main(string args) throws interruptedexception
}
執行上面的例子,我們發現daemon執行緒無法使用finally語句完成終結,因此對於乙個daemon的資源**問題,我們不應該改依賴這個語法來完成.
主線程 守護執行緒 非守護執行緒
main,但不是守護執行緒。是指在程式執行的時候在後台提供一種通用服務的執行緒。如gc。也叫使用者執行緒,由使用者建立。主線程和守護執行緒一起銷毀 主線程和非守護執行緒互不影響。例如 package com.peng.thread 1 使用者執行緒 非守護執行緒 有主線程建立 2 守護執行緒和主線程...
執行緒 守護執行緒與非守護執行緒
什麼是守護執行緒?非守護執行緒好理解,就是程式中前端執行的執行緒,我個人理解為常用於處理主動事務的執行緒。守護執行緒 顧名思義,用來守護處理事務的執行緒。它主要執行在程式後端,最有代表的例子gc執行緒,就是守護執行緒。守護執行緒的特點 實現守護執行緒,驗證非守護執行緒結束時,守護執行緒也中斷。cre...
守護執行緒和非守護執行緒
基本概念 示例 非守護執行緒 public class mythread extends thread catch interruptedexception e system.out.println 執行緒 thread.currentthread getname 執行了 i 次 public st...