Groups | Search | Server Info | Keyboard shortcuts | Login | Register
Groups > fr.comp.lang.java > #1707
| Path | csiph.com!2.eu.feeder.erje.net!feeder.erje.net!1.eu.feeder.erje.net!weretis.net!feeder4.news.weretis.net!news.trigofacile.com!.POSTED.reverse-90.fdn.fr!not-for-mail |
|---|---|
| From | Yliur <yliur@free.fr> |
| Newsgroups | fr.comp.lang.java |
| Subject | Re: Terminer un Thread. |
| Date | Thu, 13 Sep 2018 07:31:48 +0200 |
| Organization | Groupes francophones par TrigoFACILE |
| Message-ID | <20180913073148.135d0f4f@free.fr> (permalink) |
| References | <5b9992bb$0$5486$426a74cc@news.free.fr> <pnc4mh$cmk$1@dont-email.me> <20180913012022.478eee8b@free.fr> <5b99d812$0$20328$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="27908"; 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:1707 |
Show key headers only | View raw
Le 13 Sep 2018 03:22:58 GMT
jp <bloiiing@yahoo.invalid> a écrit :
> Le Thu, 13 Sep 2018 01:20:22 +0200, Yliur a écrit :
>
> > Le Thu, 13 Sep 2018 00:41:19 +0200 Samuel DEVULDER
> > <samuel.devulder@laposte-dot-net.invalid> a écrit :
>
> >> 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.
>
> Ok,merci! Si j'envoie une interruption interrupt() cela va stopper ma
> boucle immédiatement? Parceque le bloc while(true){code} peut être
> très long dans mon cas... Plusieurs minutes ou dizaines de minutes.
> Je voudrais le terminer tout de suite et ne pas attendre que la
> valeur while (condition) soit traitée.
>
> Dans un bouquin on me conseille de faire:
> try {
> while(true){
> if (interrupted()) return;
> }
> } catch (InterruptedExeption e){return;}
>
> Je vais tester pour voir. Merci de vos réponses.
Les questions importantes à te poser pour choisir comment faire :
- Est-ce que tu veux couper ton fil d'exécution en pleine action,
vraiment n'importe quand ?
- Est-ce qu'il ne risque pas de laisser des données (visibles en
dehors du fil) dans un état incohérent ?
- Est-ce que le fil exécute une boucle dans laquelle il passe très
souvent et obligatoirement à un endroit donné du code ?
- Est-ce que le fil est parfois bloqué (appel à sleep pour un long
moment, attente d'une connexion réseau, ...) ?
Back to fr.comp.lang.java | Previous | Next — Previous in thread | Next in thread | Find similar
Terminer un Thread. jp <bloiiing@yahoo.invalid> - 2018-09-12 22:27 +0000
Re: Terminer un Thread. Samuel DEVULDER <samuel.devulder@laposte-dot-net.invalid> - 2018-09-13 00:41 +0200
Re: Terminer un Thread. Yliur <yliur@free.fr> - 2018-09-13 01:20 +0200
Re: Terminer un Thread. jp <bloiiing@yahoo.invalid> - 2018-09-13 03:22 +0000
Re: Terminer un Thread. Yliur <yliur@free.fr> - 2018-09-13 07:31 +0200
Re: Terminer un Thread. jp <bloiiing@yahoo.invalid> - 2018-09-13 22:42 +0000
Re: Terminer un Thread. Yliur <yliur@free.fr> - 2018-09-14 05:46 +0200
Re: Terminer un Thread. jp <bloiiing@yahoo.invalid> - 2018-09-15 06:41 +0000
Re: Terminer un Thread. Yliur <yliur@free.fr> - 2018-09-15 14:24 +0200
Re: Terminer un Thread. jp <bloiiing@yahoo.invalid> - 2018-09-16 03:09 +0000
csiph-web