Visualizzazione dei risultati da 1 a 10 su 13

Discussione: Interrompere un thread

Visualizzazione discussione

  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2011
    Messaggi
    22

    Interrompere un thread

    Ciao a tutti,
    ho un piccolo problema.
    Nel mio programma sto gestendo un thread ma non riesco a interromperne l'esecuzione.

    Posto di seguito il codice:

    nel main faccio partire il thread


    codice:
    istanza.getVeicoli().get(0).start();

    codice:
    public void run()
    {
    while(!stopThread)
    {    
       try {
        esecuzione();
        } catch (CloneNotSupportedException e) {
    // TODO Auto-generated catch block
            e.printStackTrace();
            this.stopRunning();
            }
        }
    }

    e il metodo stopRunning è il seguente


    codice:
    public void stopRunning()
    {
    stopThread = true;
    }



    Nel metodo esecuzione() è racchiuso il comportamento del thread tra cui la chiamata a un metodo synchronized che non è della classe del thread ma di un'altra classe. Mi spiego meglio: il thread è della classe Veicolo, mentre il metodo synchronized è della classe Istanza. La classe Istanza contiene tra i suoi attributi un certo numero di Veicolo.

    Una cosa che capisco poco è inoltre questa: fatta partire l'esecuzione del main, in realtà prima mi stampa le azioni che sono scritte successivamente all'avvio del thread. Come mai questo avviene?
    Ultima modifica di LeleFT; 25-06-2014 a 12:34 Motivo: Tolta la formattazione dal codice

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.