Qu'est-ce qu'un thread daemon en Java et en quoi diffère-t-il d'un thread normal ?
Bonjour à tous ! J'ai commencé à étudier le multithreading en Java et je suis tombé sur le concept de "daemon thread". J'ai lu la documentation, mais je n'ai pas bien compris sa particularité.
J'ai un exemple simple : je lance un thread qui imprime un message chaque seconde. Le thread principal (main) termine son travail après 3 secondes. Je m'attends à ce que le programme se termine, mais il continue de fonctionner jusqu'à ce que je l'arrête manuellement.
public class DaemonTest {
public static void main(String[] args) throws InterruptedException {
Thread worker = new Thread(() -> {
while (true) {
System.out.println("Je travaille...");
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
break;
}
}
});
worker.start();
Thread.sleep(3000);
System.out.println("Main terminé");
}
}
Pourquoi le p