Heim >Java >javaLernprogramm >Was ist der Unterschied zwischen Daemon-Threads und Benutzer-Threads in Java?

Was ist der Unterschied zwischen Daemon-Threads und Benutzer-Threads in Java?

王林
王林nach vorne
2023-04-23 14:49:071857Durchsuche

Unterschiedliche Definitionen

Benutzerthread: Die im täglichen Leben verwendeten Threads sind alle Benutzerthreads.

Daemon-Thread: Ein Thread, der zur Bereitstellung von Benutzer-Threads verwendet wird, z. B. Garbage-Collection-Threads.

Unterschied in der Funktion

1 Der Unterschied zwischen Daemon-Threads und Benutzer-Threads besteht hauptsächlich darin, dass die Java Virtual Machine danach überlebt.

2. Benutzerthread: Wenn ein Benutzerthread nicht endet, wird die Java Virtual Machine nicht beendet. Daemon-Thread: Wenn nur noch der Daemon-Thread übrig ist und nicht beendet wurde, endet die Java Virtual Machine.

Beispiel

Starten Sie den Daemon-Thread im Haupt-Thread.

package com.thread.model.threads;
 
 
/**
 * Hello world!
 *
 */
public class ThreadClass 
{
    public static void main( String[] args )
    {
        Thread thread = new Thread(new Runnable() {
 
 
public void run() {
while(true) {
try {
System.out.println("守护线程心跳一次");
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
       
        });
        
        thread.setDaemon(true);//将该线程设置为守护线程
        
        thread.start();
        
        try {
Thread.sleep(10000);
Thread currentthread = Thread.currentThread();
System.out.println("主线程"+currentthread.getName()+"退出!");
} catch (InterruptedException e) {
e.printStackTrace();
}
    }
 
}

Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen Daemon-Threads und Benutzer-Threads in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen