Bonjour,
J'ai lu plusieurs articles ( en Anglais ) et j'ai encore un peu de mal à capter certaines choses.
Dans le thread principal lors du lancement d'un programme, je souhaite faire en sorte qu'un thread fils contenant une boucle infinie soit lancé dans un deamon indépendant du thread principal de façon à ce que mon programme s’exécute en arrière-plan tout en me rendant la main lorsque le thread principal arrive en fin d’exécution.
Je voulais au départ utiliser la méthode "std::thread::detach" mais d'après ce que j'ai compris, une fois détaché, je ne pourrais jamais retrouver mon thread fils.
Je voulais passer par des solutions comme la récupération de l'id "std::thread::id" ou les méthodes "atomic", mais je crois comprendre dans la documentation qu'une fois le thread fils détaché, je n'aurais plus la bonne id.
Ma question est en deux points :
1) Est-ce que je m'y prend bien en voulant détacher le thread fils contenant une boucle infinie ? Si oui, que dois-je utiliser pour pouvoir retrouver et tuer ce dernier proprement en mettant fin à la boucle infinie.
2) Sinon, quelle solution me conseillez-vous pour pouvoir effectuer la manœuvre décrite au départ ?
Merci par avance pour vos lumières.
Partager