de-vraag
  • Otázky
  • Značky
  • Používatelia
Oznámenia
Odmeny
Registrácia
Po registrácii budete informovaní o odpovediach a komentároch na vaše otázky.
Prihlásiť sa
Ak už máte konto, prihláste sa a skontrolujte nové oznámenia.
Za pridané otázky, odpovede a komentáre budú udelené odmeny.
Viac na
Zdroj
Upraviť
 flybywire
flybywire
Question

Ako zabijete vlákno v Jave?

Ako v Jave zabijete java.lang.Thread?

364 2009-03-22T14:04:34+00:00 3
 Michael
Michael
Edited question 8 máj 2018 в 11:51
Programovanie
multithreading
java
interrupt
join
This question has 1 odpoveď in English, to read them log in to your account.
Solution / Answer
 JaredPar
JaredPar
22 marec 2009 в 2:06
2009-03-22T14:06:48+00:00
Viac na
Zdroj
Upraviť
#8918204

Pozri tento vlákno od Sunu o tom, prečo zrušili funkciu Thread.stop(). Podrobne sa v ňom rozoberá, prečo bola táto metóda zlá a čo by sa malo robiť na bezpečné zastavenie vlákien vo všeobecnosti.

Spôsob, ktorý odporúčajú, je použiť zdieľanú premennú ako príznak, ktorý požiada vlákno na pozadí o zastavenie. Túto premennú potom môže nastaviť iný objekt požadujúci ukončenie vlákna.

 Ravi
Ravi
Edited answer 4 február 2018 в 7:14
Java Thread Primitive Deprecation
docs.oracle.com
186
0
 Fredrik
Fredrik
22 marec 2009 в 2:07
2009-03-22T14:07:06+00:00
Viac na
Zdroj
Upraviť
#8918255

Všeobecne platí, že nie't..

Požiadate ho, aby prerušilo to, čo práve robí, pomocou Thread.interrupt() (odkaz na javadoc)

Dobré vysvetlenie prečo je v javadoc tu (odkaz na java technote).

 Fredrik
Fredrik
Edited answer 26 marec 2014 в 10:33
Thread (Java Platform SE 7 )
docs.oracle.com
Java Thread Primitive Deprecation
docs.oracle.com
127
0
 karim79
karim79
22 marec 2009 в 2:10
2009-03-22T14:10:40+00:00
Viac na
Zdroj
Upraviť
#8918271

Jedným zo spôsobov je nastavenie premennej triedy a jej použitie ako sentinelu.

Class Outer {
    public static volatile flag = true;

    Outer() {
        new Test().start();
    }
    class Test extends Thread {

        public void run() {
            while (Outer.flag) {
                //do stuff here
            }
        }
    }

}

Nastavte externú premennú triedy, t. j. flag = true vo vyššie uvedenom príklade. Nastavte ju na false, aby ste 'zabili' vlákno.

Nikhil Agrawal
Nikhil Agrawal
Edited answer 11 máj 2013 в 8:54
20
0
Pridať otázku
Kategórie
Všetky
Technológia
Kultúra / Rekreácia
Život / Umenie
Veda
Profesionálne
Obchod
Používatelia
Všetky
New
Popular
1
365
Registered pred dňom
2
True Image
Registered pred dňom
3
archana agarwal
Registered pred 3 dňami
4
Maxim Zhilyaev
Registered pred 6 dňami
5
adambotsfford adambotsfford
Registered pred týždňom
BG
DE
EL
ES
FR
ID
IT
JA
KO
LT
LV
NL
PT
RU
SK
ZH
© de-vraag 2022
Zdroj
stackoverflow.com
na základe licencie cc by-sa 3.0 s uvedením autora