Path: csiph.com!news.redatomik.org!news.gegeweb.eu!gegeweb.org!news.trigofacile.com!.POSTED.reverse-90.fdn.fr!not-for-mail From: Yliur Newsgroups: fr.comp.lang.java Subject: Re: Terminer un Thread. Date: Thu, 13 Sep 2018 01:20:22 +0200 Organization: Groupes francophones par TrigoFACILE Message-ID: <20180913012022.478eee8b@free.fr> References: <5b9992bb$0$5486$426a74cc@news.free.fr> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Injection-Info: news.trigofacile.com; posting-account="yliur@free.fr"; posting-host="reverse-90.fdn.fr:80.67.176.90"; logging-data="29244"; mail-complaints-to="abuse@trigofacile.com" X-Newsreader: Claws Mail 3.17.1 (GTK+ 2.24.32; x86_64-pc-linux-gnu) Xref: csiph.com fr.comp.lang.java:1705 Le Thu, 13 Sep 2018 00:41:19 +0200 Samuel DEVULDER a écrit : > Le 13/09/2018 à 00:27, jp a écrit : > > > Quelle est la méthode pour ne plus avoir ce thread en mémoire? Pour > > le terminer comme un Object quelconque? > > La façon, propre de faire cela est d'utiliser un drapeau (booleen). > Tu remplace le while(true) par while(drapeau), et pour stopper tu > passes le drapeau à faux et envoie une interruption (interrupt()) au > thread pour le sortir d'un eventuel object.wait() ou autre appel > d'entrée/sortie sur lequel il serait coincé. La modification et la lecture de la valeur devraient également se trouver dans des blocs synchronisés (par exemple des fonctions marquées synchronized), pour être sûr que la valeur a bien été partagée entre les fils d'exécution.