Avatar billede arnejan Nybegynder
06. april 2004 - 18:40 Der er 7 kommentarer og
1 løsning

Om at stoppe en tråd.

Er der egentlig noget galt med at bruge thread.stop(). Hvis man skal stoppe en tråd, når en applet lukker ned.

Stopper den ikke bare tråden med det samme.

Er problemer med thread.stop() ikke at det kan give nogen logiske problemer, at bruge den. Men det er jo ligemeget når appleten alligevel lukker ?
Avatar billede arne_v Ekspert
06. april 2004 - 18:46 #1
Har du læst:

stop

public final void stop()

    Deprecated. This method is inherently unsafe. Stopping a thread with Thread.stop causes it to unlock all of the monitors that it has locked (as a natural consequence of the unchecked ThreadDeath exception propagating up the stack). If any of the objects previously protected by these monitors were in an inconsistent state, the damaged objects become visible to other threads, potentially resulting in arbitrary behavior. Many uses of stop should be replaced by code that simply modifies some variable to indicate that the target thread should stop running. The target thread should check this variable regularly, and return from its run method in an orderly fashion if the variable indicates that it is to stop running. If the target thread waits for long periods (on a condition variable, for example), the interrupt method should be used to interrupt the wait.

?
Avatar billede arne_v Ekspert
06. april 2004 - 18:47 #2
Det anbefales at lade tråd checke på et eller andet og ellers at bruge interrupt i.s.f..
Avatar billede arnejan Nybegynder
06. april 2004 - 18:57 #3
Årr jo. Men det kan jeg godt finde ud af. Jeg tænker bare at hvis appleten alligevel skal lukke helt ned, kan det være ligemeget.

Men jeg forstår det fagtisk ikke helt.

F.eks. den der applet der hedder meassure.class som kører på rigtig rigtig mange sider. Den bruger thread.stop(), til at stoppe sin tråd.
Avatar billede soreno Praktikant
06. april 2004 - 19:10 #4
Men hvorfor stoppe tråden hvis du alligevel exit'er appletten ?
Hvad ønsker du at opnå ?
Avatar billede arne_v Ekspert
06. april 2004 - 19:16 #5
Hvornår er den applet kode skrevet ?

stop er jo ikke startet som depracated.

Den kom, blev brugt, man opdagede problemer og så blev den depracated.

Men gammel kode bruger den jo stadig.

Og det behøver jo ikke give problemer i alle sammenhænge.
Avatar billede arnejan Nybegynder
06. april 2004 - 22:35 #6
Tråden skal stoppes fordi der sker nogen ting med liveconnect, som jeg ikke ønsker skal ske, når vinduet er lukket.

Glem bare det med stop(). Fordi jeg bruger bare det der interrupt(), det virker fint.
Avatar billede arne_v Ekspert
06. april 2004 - 22:54 #7
OK ?
Avatar billede arne_v Ekspert
24. april 2004 - 17:58 #8
Lukke tid ?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester