PDA

View Full Version : [JAVA]Uccidere un thread!


MEMon
13-07-2006, 10:47
Come faccio a fermare un thread in esecuzione ed ad eliminarlo definitivamente dalla memoria?
Mettiamo caso che io ho un thread, il cui metodo run() è così fatto:
public void run(){
for(int i=0;i<1000;i++);
}

Come faccio a dirgli di uccidersi quando finisce il ciclo for?

lovaz
13-07-2006, 17:44
Basta ritornare dal metodo run().
Nel tuo esempio alla fine del ciclo for il thread termina.

Mr.Paschi!
13-07-2006, 22:20
chiama il metodo stop(), che termina la vita del thread.

Poi se ti interessa, c'è suspend() che lo sospende ,resume() lo riprende.

Ciao!

j_c_maglio
13-07-2006, 23:13
chiama il metodo stop(), che termina la vita del thread.

Poi se ti interessa, c'è suspend() che lo sospende ,resume() lo riprende.

Ciao!

cha però sono tutti deprecated

Mr.Paschi!
14-07-2006, 08:14
cha però sono tutti deprecated
Si hai ragione, ma solo perchè sono considerati unsafe.
Dalla documentazione comunque si può ottenere una vastità di argomentazione a riguardo, tra cui:
Most uses of stop should be replaced by code that simply modifies some variable to indicate that the target thread should stop running.

In ogni modo, usa interrupt() :D