Java之守護執行緒
前臺執行緒、守護執行緒 : 前臺執行緒 都結束之後 ==》 守護執行緒會自動結束
建立一個執行緒物件,預設與建立環境一致 (ex:主執行緒是前臺執行緒,那麼在主執行緒建立的執行緒物件預設是前臺執行緒)
void setDaemon(boolean on) : 將該執行緒標記為守護執行緒或使用者執行緒。
注意:①setDaemon不能在start之後呼叫!!
②主執行緒的狀態不能改
③啟動之後,執行緒的狀態不能改
④執行緒的狀態與建立該執行緒的環境狀態是一致的
ex:
public class Demo {
public static void main(String[] args) {
A a = new A();
Thread threadA = new Thread(a);
threadA.setName("AAA ");
B b = new B();
Thread threadB = new Thread(b);
threadB.setName("BBB ");
//啟動執行緒
threadA.start();
threadB.setDaemon(true);//把threadB執行緒設定為後臺執行緒
threadB.start();
}
}
/*
* 測試思路:設計兩個執行緒類,一個充當前臺執行緒,輸出10次
* 一個充當守護執行緒,輸出無限次
* 期望效果:當前臺執行緒輸出結束,後臺會自動結束
*/
class A implements Runnable{
@Override
public void run() {
for (int i = 0; i < 10; i++) {
System.out.println(Thread.currentThread().getName()+" : 這是執行緒 AAA...");
try {
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
System.out.println("執行緒A 結束 ...........");
}
}
class B implements Runnable{
@Override
public void run() {
while(true){
System.out.println(Thread.currentThread().getName()+" : 這是執行緒 BBB...");
try {
Thread.sleep(500);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
執行結果圖:(threadB執行緒的死迴圈輸出會停止)
相關文章
- Java多執行緒之守護執行緒實戰Java執行緒
- java 多執行緒守護執行緒Java執行緒
- java執行緒之守護執行緒和使用者執行緒Java執行緒
- 守護執行緒執行緒
- 【多執行緒與高併發】Java守護執行緒是什麼?什麼是Java的守護執行緒?執行緒Java
- java.lang.Thread中守護執行緒Javathread執行緒
- Java 多執行緒基礎(十一)執行緒優先順序和守護執行緒Java執行緒
- 【java】【多執行緒】睡眠/守護/加入/禮讓執行緒,執行緒優先順序(4)Java執行緒
- 執行緒、開啟執行緒的兩種方式、執行緒下的Join方法、守護執行緒執行緒
- 【Java面試】什麼是守護執行緒,它有什麼特點Java面試執行緒
- Java多執行緒之執行緒中止Java執行緒
- java synchronized 保護執行緒安全Javasynchronized執行緒
- Python 多執行緒無用?深入總結 二(深入瞭解GIL 執行緒守護 執行緒程式CPU關係)Python執行緒
- java多執行緒之執行緒的基本使用Java執行緒
- Java多執行緒之執行緒同步【synchronized、Lock、volatitle】Java執行緒synchronized
- Java執行緒池之ThreadPoolExecutorJava執行緒thread
- Java多執行緒之FutureTaskJava執行緒
- Java之執行緒通訊Java執行緒
- Java多執行緒之CASJava執行緒
- java多執行緒之(synchronized)Java執行緒synchronized
- java多執行緒之Thread類Java執行緒thread
- java多執行緒之volatile理解Java執行緒
- Java基礎之執行緒安全Java執行緒
- 死磕 java執行緒系列之執行緒的生命週期Java執行緒
- Java併發程式設計之執行緒篇之執行緒中斷(三)Java程式設計執行緒
- Java併發程式設計之執行緒篇之執行緒簡介(二)Java程式設計執行緒
- Java多執行緒-執行緒中止Java執行緒
- 執行緒控制之休眠執行緒執行緒
- Java併發程式設計之執行緒安全、執行緒通訊Java程式設計執行緒
- java 多執行緒之使用 interrupt 停止執行緒的幾種方法Java執行緒
- 手撕Java多執行緒(四)執行緒之間的協作Java執行緒
- Java併發程式設計之執行緒篇之執行緒的由來(一)Java程式設計執行緒
- 死磕 java執行緒系列之執行緒池深入解析——普通任務執行流程Java執行緒
- Java基礎之執行緒那些事Java執行緒
- Java多執行緒之synchronized理論Java執行緒synchronized
- Java多執行緒之Callable,Future,FutureTaskJava執行緒
- Java之 join 等待執行緒終止Java執行緒
- Java之執行緒的生命週期Java執行緒