- Java.lang 包類
- Java.lang - 首頁
- Java.lang - Boolean
- Java.lang - Byte
- Java.lang - Character
- Java.lang - Character.Subset
- Java.lang - Character.UnicodeBlock
- Java.lang - Class
- Java.lang - ClassLoader
- Java.lang - Compiler
- Java.lang - Double
- Java.lang - Enum
- Java.lang - Float
- Java.lang - InheritableThreadLocal
- Java.lang - Integer
- Java.lang - Long
- Java.lang - Math
- Java.lang - Number
- Java.lang - Object
- Java.lang - Package
- Java.lang - Process
- Java.lang - ProcessBuilder
- Java.lang - Runtime
- Java.lang - RuntimePermission
- Java.lang - SecurityManager
- Java.lang - Short
- Java.lang - StackTraceElement
- Java.lang - StrictMath
- Java.lang - String
- Java.lang - StringBuffer
- Java.lang - StringBuilder
- Java.lang - System
- Java.lang - Thread
- Java.lang - ThreadGroup
- Java.lang - ThreadLocal
- Java.lang - Throwable
- Java.lang - Void
- Java.lang 包其他內容
- Java.lang - 介面
- Java.lang - 錯誤
- Java.lang - 異常
- Java.lang 包實用資源
- Java.lang - 實用資源
- Java.lang - 討論
Java Thread setDaemon() 方法
描述
Java Thread setDaemon() 方法將執行緒標記為守護執行緒或使用者執行緒。當僅剩的執行緒都是守護執行緒時,Java虛擬機器就會退出。此方法必須線上程啟動之前呼叫。
宣告
以下是java.lang.Thread.setDaemon() 方法的宣告
public final void setDaemon(boolean on)
引數
on − 如果為 true,則將此執行緒標記為守護執行緒。
返回值
此方法不返回值。
異常
IllegalThreadStateException − 如果此執行緒處於活動狀態。
SecurityException − 如果當前執行緒無法修改此執行緒。
示例:將守護執行緒設定為 False
以下示例演示了 Java Thread setDaemon() 方法的使用。在此程式中,我們透過擴充套件 Thread 類建立了一個執行緒類 AdminThread。在建構函式中,我們使用 setDaemon() 方法將執行緒狀態設定為非守護執行緒(false)。在 run() 方法中,我們列印執行緒是守護執行緒還是非守護執行緒的狀態。在 main() 方法中,建立了一個 AdminThread 的執行緒,並使用 setDaemon() 方法將其設定為非守護執行緒,然後呼叫 start() 方法執行執行緒。
package com.tutorialspoint;
class AdminThread extends Thread {
AdminThread() {
setDaemon(false);
}
public void run() {
boolean d = isDaemon();
System.out.println("daemon = " + d);
}
}
public class ThreadDemo {
public static void main(String[] args) throws Exception {
Thread thread = new AdminThread();
System.out.println("thread = " + thread.currentThread());
thread.setDaemon(false);
// this will call run() method
thread.start();
}
}
輸出
讓我們編譯並執行上述程式,這將產生以下結果:
thread = Thread[main,5,main] daemon = false
示例:將守護執行緒設定為 True
以下示例演示了 Java Thread setDaemon() 方法的使用。在此程式中,我們透過擴充套件 Thread 類建立了一個執行緒類 AdminThread。在建構函式中,我們使用 setDaemon() 方法將執行緒狀態設定為非守護執行緒(false)。在 run() 方法中,我們列印執行緒是守護執行緒還是非守護執行緒的狀態。在 main() 方法中,建立了一個 AdminThread 的執行緒,並使用 setDaemon() 方法將其設定為守護執行緒(true),然後呼叫 start() 方法執行執行緒。
package com.tutorialspoint;
class AdminThread extends Thread {
AdminThread() {
setDaemon(false);
}
public void run() {
boolean d = isDaemon();
System.out.println("daemon = " + d);
}
}
public class ThreadDemo {
public static void main(String[] args) throws Exception {
Thread thread = new AdminThread();
System.out.println("thread = " + thread.currentThread());
thread.setDaemon(true);
// this will call run() method
thread.start();
}
}
輸出
讓我們編譯並執行上述程式,這將產生以下結果:
thread = Thread[main,5,main]