Avviare, stoppare e ri-avviare lo stesso thread?

di il
2 risposte

Avviare, stoppare e ri-avviare lo stesso thread?

Ragazzi è possibile avviare, stoppare e ri-avviare lo stesso thread? Vi spiego, io ho 2 pulsanti:
- pulsante 1 che avvia il thread e quindi con l'istruzione thread.start();
- pulsante 2 che stoppa il thread e quindi con l'istruzione thread.stop();

all'avvio del thread e alla sua chiusura non ho problemi, ho problemi invece quando vado a cliccare nuovamente su pulsante 1 per ri-avviare il thread chiuse precedentemente, perchè mi da errore sulla riga del thread.start();
Come posso risolvere?

2 Risposte

  • Re: Avviare, stoppare e ri-avviare lo stesso thread?

    palestrato ha scritto:


    Ragazzi è possibile avviare, stoppare e ri-avviare lo stesso thread?
    No, una volta che: a) è stato istanziato un java.lang.Thread, b) è stato avviato con start() e c) il flusso di esecuzione è terminato (run() ha finito) allora NON è possibile rifare uno start() su quel Thread.

    palestrato ha scritto:


    - pulsante 2 che stoppa il thread e quindi con l'istruzione thread.stop();
    Thread.stop() è un metodo "deprecato" e NON dovrebbe essere più usato. La terminazione di un thread va fatta usando il meccanismo di interruption ma in modo "cooperativo", nel senso che il codice del thread a seconda di cosa fa e in cosa è bloccato deve essere scritto per cooperare alla terminazione gestendo correttamente la interruption.

    palestrato ha scritto:


    Come posso risolvere?
    Istanziando un nuovo java.lang.Thread.
  • Re: Avviare, stoppare e ri-avviare lo stesso thread?

    Ciao,
    intendi qlcosa del genere?
    http://stackoverflow.com/questions/16758346/how-pause-and-then-resume-a-thread
Devi accedere o registrarti per scrivere nel forum
2 risposte