Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [Java]Domande su Thread

    Salve a tutti avrei un poco di questioni riguardo i thread ( ho visto che ci sono parecchie discussioni riguardanti i thread, ma non sono riuscito a trovare le risposte alle mie domande... forse troppo banali

    Come prima cosa l'applicazione che mi da problemi consiste di due thread separati uno che rimane in ascolto ( thread main ) l'altro che lancia tramite reflection un altro programma esterno. Il codice per la creazione del thread figlio è il seguente:

    codice:
    public class LauncherImpl implements Launcher, Runnable {
    
    private String targetClass;
    private volatile Thread t;
    
    public LauncherImpl() {
    t = new Thread(this, "TargetApplication");
    }
    
    public void run() throws InitializationException {
    // qui lancio l'altro programma tramite reflection
    }
    
    public void start(String targetClass) throws InitializationException {
    this.targetClass = targetClass;
    t.start();
    
    }
    
    public void stop() throws InitializationException {
    t = null;
    }
    
    }
    ora con questo codice ho alcuni problemini:

    1) se crasha il programma che richiamo sul thread figlio tramite reflection crasha anche il thread principale e quindi tutta l'applicazione

    2) se invoco il metodo stop() l'applicazione lanciata sul thread tramite reflection continua ad esistere ed invece vorrei che terminasse ( ma solo l'applicazione target )

    3) esiste un modo per richiamare il thread figlio senza passare l'istanza dell'oggetto da una parte ad una altra delle classi?

    grazie a tutti per l'aiuto
    nessun c___o è duro come la vita

  2. #2
    per problemi sullo stop dei thread ti puoi leggere quest'articolo:http://www.forward.com.au/javaProgra...opAThread.html

    ciao
    Ivan Venuti
    Vuoi scaricare alcuni articoli sulla programmazione, pubblicati su riviste di informatica? Visita http://ivenuti.altervista.org/articoli.htm. Se vuoi imparare JavaScript leggi il mio libro: http://www.fag.it/scheda.aspx?ID=21754 !

  3. #3
    Originariamente inviato da ivenuti
    per problemi sullo stop dei thread ti puoi leggere quest'articolo:http://www.forward.com.au/javaProgra...opAThread.html

    ciao
    grazie ne avevo letta un'altra versione sul sito della sun
    http://java.sun.com/j2se/1.5.0/docs/...precation.html

    ed il link di quella versione è anche sul sito che mi hai consigliato tu... in effetti manca proprio questo

    public void stop() {
    Thread tmpBlinker = blinker;
    blinker = null;
    if (tmpBlinker != null) {
    tmpBlinker.interrupt();
    }
    }

    ovvero sul sito della sun non specificava l'if nel metodo stop, ma solo di settare la variabile volatile blinker a null.. grazie dell'aiuto..

    per le altre questioni credo che il problema sia alla radice.. ovvero creando un semplice thread figlio è normale che se questo crasha lo fa anche il padre a meno di non gestire l'eccezioni in modo particolare e cmq specificatamente all'applicazione... percio' la soluzione è di creare un intero processo ( anche se richiederà + risorse ) è gestirlo come se fosse un'applicazione a parte...
    nessun c___o è duro come la vita

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.